⚠️
嗨,那里..感谢您参加论坛。激动人心的消息!现在,我们正在转到我们的新论坛平台,该平台将提供更好的功能,并包含在主话网站中。所有帖子和帐户都已迁移。我们现在仅在新论坛上接受流量 - 请在https://www.dialog-spoomendonductor.com/support。我们将在未来几天修复错误 /优化搜索和标记。
7帖子 / 0新
最后一篇文章
Dieter Falk
离线
最后一次露面:4个月3周前
加入:2019-10-12 10:33
UART适配器异步

查看AD_UART.C中的代码,我可以看到以下内容:

void ad_uart_write_async(uart_device dev,const char *wbuf,size_t wlen,ad_uart_user_cb cb,
void *user_data)
{
uart_device_config *设备=(uart_device_config *)dev;
uart_bus_dynamic_data *data = device-> bus_data;

if(((设备 - > flags&ad_uart_device_flags_locking_async)){
ad_uart_bus_acquire_ex(dev,ad_uart_res_type_write);
}
data-> write_cb = cb;
data-> write_cb_data = user_data;

hw_uart_send(device-> bus_id,(const uint8_t *)wbuf,wlen,ad_uart_write_callback,dev);
}

在设置ad_uart_device_flags_locking_async时,似乎调用了“ ad_uart_bus_acquire_ex(..)”函数。

我对此代码段的解释是,我不必在使用异步调用函数时由我自己调用AD_UART_BUS_ACQUIRE_EX(..),以防设置设备标志。

如何配置UART或适配器,该标志已设置?

此致

Dieter

关键字:
设备:
pm_dialog
离线
最后一次露面:18小时6分钟前
职员
加入:2018-02-08 11:03
嗨,迪特,

嗨,迪特,

让我检查您的问题,并尽快恢复给您。

谢谢,pm_dialog

pm_dialog
离线
最后一次露面:18小时6分钟前
职员
加入:2018-02-08 11:03
嗨,迪特,

嗨,迪特,

您能否澄清您的问题并分享有关您要完成的工作的更多意见?通常,我强烈建议您不要修改适配器和SDK文件。SDK提供了适配器。如果您进行任何修改,则不能保证它们会按预期工作。

谢谢,pm_dialog

Dieter Falk
离线
最后一次露面:4个月3周前
加入:2019-10-12 10:33
你好,

你好,

我想知道如何在异步中使用UART适配器。传输模式。您的文档中的示例仅显示名称(阻止)模式。

因此,我查看了适配器代码(我不想肯定会更改),这对我来说尚不清楚如何正确使用此代码。这可以是示例中的代码序列,也可以是我所说的一些提示,如何在预期使用为异步传输时正确配置UART。

希望这为您澄清我的问题。如果您需要更多详细信息来回答我的问题,请告诉我。

此致

Dieter

pm_dialog
离线
最后一次露面:18小时6分钟前
职员
加入:2018-02-08 11:03
嗨,迪特,

嗨,迪特,

我可以在您指的是哪个示例中问?您应该使用所需的UART配置打开适配器,应使用AD_UART_OPEN()以打开适配器。然后,您应该执行异步UART写入的AD_UART_WRITE_ASYNC()。最后,您应该使用直到所有UART交易完成并关闭适配器(AD_UART_CLOSE)。

谢谢,pm_dialog

Dieter Falk
离线
最后一次露面:4个月3周前
加入:2019-10-12 10:33
你好,

你好,

我正在使用的示例是您的文档:DA1468X软件平台参考

您在答案中描述的序列正是我实施的。因此,这并没有真正的帮助。因此,我仔细研究了ad_uart_device_flags_locking_async的定义。此标志已在AD_UART_WRITE_ASYNC(..)函数中选中该标志,以对ad_uart_bus_acquire_ex进行必要的调用(dev,ad_uart_res_type_write);

我的最初问题是如何配置设置此标志的UART。现在我自己找到了它,我的应用程序现在按预期运行。

问题的答案:

必须使用acro uart_dev(..),而不是在platform_devices.h文件中使用宏“ uart_bus(..)”,因为该宏还将使用“ _flags”参数,我可以将ad_uart_uart_device_flags_flags_logs_locks_locking_assync定义放置。

如果用户想使用_async -uart的函数,则将此提示添加为您的文档中的提示将是一个好主意。

此致

Dieter

mhv_dialog
离线
最后一次露面:2个月1周前
职员
加入:2013-12-06 15:10
嗨,迪特,

嗨,迪特,

感谢您分享您的解决方案。我已要求您在下一个文档版本中实施您提议的文档添加。

/MHV