UART低级驱动器的序列

⚠️
嗨,那里..感谢您参加论坛。激动人心的消息!现在,我们正在转到我们的新论坛平台,该平台将提供更好的功能,并包含在主话网站中。所有帖子和帐户都已迁移。我们现在仅在新论坛上接受流量 - 请在https://www.dialog-spoomendonductor.com/support。我们将在未来几天修复错误 /优化搜索和标记。
6个帖子 / 0新
最后一篇文章
尼古兰
离线
最后一次露面:4小时47分钟前
加入:2018-03-20 08:24
UART低级驱动器的序列

嗨对话,

由于某些原因,我无法使用UART适配器实现UART通信。那么如何通过UART LLD(HW_UART.C)实现UART函数?是否有需要参考的完整示例序列或文档?
谢谢你的帮助。

设备:
pm_dialog
离线
最后一次露面:3小时1分钟前
职员
加入:2018-02-08 11:03
嗨,尼古兰,

嗨,尼古兰,

您能否分享您要完成的工作以及您的问题是什么?我们强烈建议使用适配器来访问硬件外围设备,因为不仅可以提供对外围设备的访问权限,而且还要确保当前正在访问其的其他任务暂停其操作,直到再次发布外围。因此,您不必担心其他任务是否同时尝试访问相同的外围设备。另外,当使用UART适配器和睡眠模式配置时,在电源管理芯片电源之前,适配器将检查是否有未决的UART功能,如果是的,则睡眠将延迟,直到UART外围设备完成交易。我强烈建议您看一下第12.3.1章的UART适配器UM-B-044用户手册:DA1468X软件平台参考(HTML)来自我们的支持门户。请尝试此示例,如果您有任何后续问题,或者您的问题尚未解决,请与我联系。

谢谢,pm_dialog

尼古兰
离线
最后一次露面:4小时47分钟前
加入:2018-03-20 08:24
嗨对话,

嗨对话,

我的目标是让UART的TX引脚在冬眠模式下变为低状态(因为冬眠模式的电流将变得更高,从3UA到9UA)。但是TX引脚是默认高状态(HW_GPIO_MODE_OUTPUT_OPEN_DRAIN),如果使用UART适配器,即使在Hibernation模式下也是如此。我计划使用LLD来实现我想要的功能,并在完成UART通信后将UART TX PIN配置为GPIO(为低状态)。如果这不是一个好主意,请指导我如何使用UART适配器实现我的目标。谢谢

pm_dialog
离线
最后一次露面:3小时1分钟前
职员
加入:2018-02-08 11:03
嗨,尼古兰,

嗨,尼古兰,

您能否尝试在完成UART通信后将HW_GPIO_CONFIGURE_PIN()函数测试,然后将TX GPIO换成低点?还要注意,由于您使用的是HW_GPIO_MODE_OUTPUT_OPEN_DRAIN配置,因此当设备进入Hibernation模式时,您将看不到功耗的差异。

谢谢,pm_dialog

尼古兰
离线
最后一次露面:4小时47分钟前
加入:2018-03-20 08:24
嗨对话,

嗨对话,

1.对不起,我的写作错误,当我在Hibernation获得更高的电流时,应该是HW_GPIO_MODE_OUTPUT_PUSH_PULL。但是,如果我的配置是
hw_gpio_mode_open_drain,电流是正常的。为什么 ?

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

谢谢你的帮助。

pm_dialog
离线
最后一次露面:3小时1分钟前
职员
加入:2018-02-08 11:03
嗨,尼古兰,

嗨,尼古兰,

在开放的排水配置中,有一个MOSFET将GPIO驱动到零,如果您想将II驱动到逻辑1中,则应在外部放置一个上拉电阻器。在推扣配置中,有两个MOSFET,因此GPIO可以驱动到逻辑0或逻辑1。这就是为什么当前消耗在开放式配置中正常的原因。在Hibernation模式下,所有块都会从WKUP控制器中关闭,因此这就是GPIO具有默认值的原因。关于TX,如果我能够正确理解,则此行为是正常的,因为从1到0的事务信号开始启动位,而交易从0到1信号信号信号。

谢谢,pm_dialog