使用UART适配器TX和RX同时。

⚠️
嗨,...感谢您来论坛。令人兴奋的消息!我们现在正在迁至我们的新论坛平台,将提供更好的功能,并包含在主对话框网站中。所有帖子和帐户都已迁移。我们现在只接受新论坛上的流量 - 请发布任何新线程https://www.dialog-seminile.com/support.。我们将在未来几天修复错误/优化搜索和标记。
4个帖子/ 0新
最后一篇
单自然打击
离线
最后一次露面:2个月1周前
加入:2015-10-26 13:43
使用UART适配器TX和RX同时。

我是使用对话框SDK的新手,并一直在阅读适配器。我可以看到一个简单的解决方案,让我批量待待待写作,并在单个线程上下文中使用AD_UART_WRITE()处理它们,以便没有其他线程被阻止。我不太确定读...

是否可以同时调用AD_UART_READ()和AD_UART_WRITE()(来自不同的线程)而不会对彼此干扰?我想到了一个简单读取块或超时的UART RX线程,将RX数据传递给应用程序,并重复。我猜这将具有电力影响,保持RX启用,但它仅用于调试目的。

设备:
PM_DIALOG.
离线
最后一次露面:26分钟30秒前
职员
加入:2018-02-08 11:03
嗨单自然克里克,

嗨单自然克里克,

由于您使用的适配器,您无法在不同线程的同时调用AD_UART_READ()和AD_UART_WRITE()。这是适配器的概念。请注意,适配器是LLD(低级驱动程序)顶部的附加图层,并且不作为单独的任务实现。因此,您要么直接使用UART LLD(在HW_UART.H文件中描述)或UART适配器(在AD_UART.H文件中描述),而不会在UART LLD中进行干预。我们建议使用适配器来访问硬件外围设备,因为不仅提供对外设的访问权限,还可以确保当前访问它的其他任务,暂停其操作,直到外围设备再次发布。因此,如果另一个任务在同一时间访问相同的外围设备,则不必担心。我强烈建议你看一下第12.3.1章的UART适配器示例UM-B-044用户手册:DA1468x软件平台参考(HTML)来自我们的支持门户。

谢谢,PM_DIALOG.

单自然打击
离线
最后一次露面:2个月1周前
加入:2015-10-26 13:43
感谢您的答复。至

感谢您的答复。说实话,我更愿意写自己的裸机驱动程序(这是我用北欧,STM32,EFM32和其他部分所做的),但是在目前对话零件来说太不熟悉,我的主要关注适当管理权力。在我看来非常奇怪的是,UART被迫成为一个适配器的半双工装置:这似乎不受欢迎。

我将透过这个例子。

谢谢。

PM_DIALOG.
离线
最后一次露面:26分钟30秒前
职员
加入:2018-02-08 11:03
嗨单自然克里克,

嗨单自然克里克,

由于它已经在上一篇文章中提及,我们强烈建议使用适配器来访问硬件外围设备。如果您不喜欢使用适配器,则第二个选项是使用LLD。这些是我们可以提供支持的两个选项。在您的情况下,如果您想实现自己的驱动程序,我们将无法提供任何支持。是的,请浏览如何使用UART适配器的推荐示例。

谢谢,PM_DIALOG.