⚠️
嗨,...感谢您来论坛。令人兴奋的消息!我们现在正在迁至我们的新论坛平台,将提供更好的功能,并包含在主对话框网站中。所有帖子和帐户都已迁移。我们现在只接受新论坛上的流量 - 请发布任何新线程https://www.dialog-seminile.com/support.。我们将在未来几天修复错误/优化搜索和标记。
7个帖子/ 0新
最后一篇
节食者粉笔
离线
最后一次露面: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 * device =(uart_device_config *)dev;
uart_bus_dynamic_data * data = device-> bus_data;

if((设备 - >标志&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_bus_acquire_ex(..)”函数被调用,当设置了ad_uart_device_flags_locking_async时调用。

我对此代码段的解释是,在设置设备标志时,我不必在自己使用ASYNC调用函数时调用AD_UART_BUS_ACQUIER_EX(..)。

如何配置UART或适配器,即设置此标志?

此致

节食者

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

嗨Dieter,

让我检查你的问题并尽快回复你。

谢谢,PM_DIALOG.

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

嗨Dieter,

您能否澄清您的问题并分享更多关于您想要完成的内容的投入?通常,我强烈建议您不要修改适配器和SDK文件。应在SDK提供适配器。如果您进行任何修改,则无法保证他们将按预期工作。

谢谢,PM_DIALOG.

节食者粉笔
离线
最后一次露面:4个月3周前
加入:2019-10-12 10:33
你好,

你好,

我想知道如何在异步时使用UART适配器。转移模式。您的文档中的示例只显示了Nomal(阻塞)模式。

因此,我看起来在适配器代码(我不想肯定地改变),并且对我来说并不清楚如何正确使用此代码。这可以是示例中的代码序列,或者我说的一些提示在预期用途是异步转移时如何正确配置UART。

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

此致

节食者

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

嗨Dieter,

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

谢谢,PM_DIALOG.

节食者粉笔
离线
最后一次露面:4个月3周前
加入:2019-10-12 10:33
你好,

你好,

我追求的一个例子是在您的文档中:DA1468X软件平台参考

您在答案中描述的序列正是我所实施的。所以这并没有真正的帮助。因此,我仔细研究了AD_UART_DEVICE_FLAGS_LOCKING_ASYNC的定义。在AD_UART_WRITE_ASYNC(..)函数中检查此标志,以对AD_UART_BUS_ACQUIER_EX(DEV,AD_UART_RES_TYPE_WRITE)进行必要的调用;

我的初始问题是如何配置此标志设置的UART。现在我发现了自己,我的应用程序现在正如预期的那样运行。

问题的答案:

在platform_devices.h文件中而不是使用宏“UART_BUS(..)”,必须使用宏UART_DEV(..),因为此宏也将采用“_flags”参数,其中我可以将ad_uart_device_flags_locking_async定义。

如果用户想要使用UART的_Async - 函数,将此提示添加此提示是对您的文档的备注。

此致

节食者

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

嗨Dieter,

感谢您分享解决方案。我要求您提出的文档添加到下一个文档版本中。

/ mhv.