UART低级驱动程序的序列

⚠️
嗨,...感谢您来论坛。令人兴奋的消息!我们现在正在迁至我们的新论坛平台,将提供更好的功能,并包含在主对话框网站中。所有帖子和帐户都已迁移。我们现在只接受新论坛上的流量 - 请发布任何新线程https://www.dialog-seminile.com/support.。我们将在未来几天修复错误/优化搜索和标记。
6个帖子/ 0新
最后一篇
尼格利
离线
最后一次露面:2个月2周前
加入:2018-03-20 08:24
UART低级驱动程序的序列

嗨对话框,

由于某种原因,我不能使用UART适配器来实现UART通信。那么如何通过UART LLD(hw_uart.c)来实现UART函数?是否有任何完整的示例序列或文档参考?
谢谢你的帮助。

设备:
PM_DIALOG.
离线
最后一次露面:8小时32分钟前
职员
加入:2018-02-08 11:03
嗨nigelyang,

嗨nigelyang,

您能否分享你想要完成的东西,你的问题是什么?我们强烈建议使用适配器来访问硬件外围设备,因为不仅提供对外设的访问权限,还要确保当前访问它的其他任务,暂停其操作,直到外围设备再次释放。因此,如果另一个任务在同一时间访问相同的外围设备,则不必担心。此外,在使用UART适配器和睡眠模式配置时,在电源管理将电源的电源之前,适配器将检查是否有挂起UART功能,如果是,睡眠将延迟,直到UART外设完成事务。。我强烈建议您看看第12.3.1章的UART适配器示例UM-B-044用户手册:DA1468X软件平台参考(HTML)来自我们的支持门户。请尝试此示例,如果您有任何后续问题,或者您的问题尚未修复,请回复我。

谢谢,PM_DIALOG.

尼格利
离线
最后一次露面:2个月2周前
加入:2018-03-20 08:24
嗨对话框,

嗨对话框,

我的目标是让UART的TX引脚在休眠模式下变低状态(因为休眠模式的电流将变高,从3ua到9ua)。但如果使用UART适配器,即使在休眠模式下,TX引脚默认为高状态(HW_GPIO_MODE_OUTPUTPE_OPEN_DRAIN)。我计划在完成UART通信后,使用LLD实现UART功能,并将UART TX引脚配置为GPIO(以低状态)。如果不是好主意,请指导我如何使用UART适配器来实现我的目标。谢谢

PM_DIALOG.
离线
最后一次露面:8小时32分钟前
职员
加入:2018-02-08 11:03
嗨nigelyang,

嗨nigelyang,

您可以尝试在完成UART通信后测试HW_GPIO_CONFIGURE_PIN()函数,并将TX GPIO降低?另请注意,由于使用HW_GPIO_Mode_Output_open_drain配置,当设备进入休眠模式时,您不会看到功耗的差异。

谢谢,PM_DIALOG.

尼格利
离线
最后一次露面:2个月2周前
加入:2018-03-20 08:24
嗨对话框,

嗨对话框,

对不起我的写作错误,当我在休眠时获得更高的电流时,它应该是hw_gpio_mode_output_push_pull。但是,如果我的配置是
hw_gpio_mode_open_drain,当前是正常的。为什么 ?

2.如果我使用HW_GPIO_MODE_OPEN_DRAIN配置,则在扩展睡眠模式后,TX引脚将变为高状态;但是在休眠模式后保持低状态。
为什么 ?

谢谢你的帮助。

PM_DIALOG.
离线
最后一次露面:8小时32分钟前
职员
加入:2018-02-08 11:03
嗨nigelyang,

嗨nigelyang,

在开路配置中,有一个MOSFET将GPIO驱动到零,如果您想将II驱动到逻辑1,则应在外部放置上拉电阻。在推挽配置中,有两个MOSFET,因此GPIO可以驱动为逻辑0或逻辑1.为什么当前消耗在开漏配置中是正常的。在休眠模式中,所有块都关闭了WKUP控制器的exept,因此这就是GPIO具有默认值的原因。关于TX,如果我能够正确理解,这种行为是正常的,因为事务从1到0发出开始位,并且事务从0到1发信号信号。

谢谢,PM_DIALOG.