你好,
我在对话框14695.使用威拉10.440.8.6 SDK我实现与FreeRTOS的一个UART的解决方案。我正在尝试找到从另一个设备接收UART消息的好方法。
我使用从主要任务hw_uart_receive(HW_UART3,与VAR,1,uart_data_cb,与VAR)。有一次,我在回调uart_data_cb收到1个字节,我通知的主要任务,然后发出另一个hw_uart_receive(HW_UART3,与VAR,1,uart_data_cb,与VAR)。自从我不知道我可以接收的字节数,我试图获得1个字节。
我正在使用回调,以便可以使用中断处理程序。否则,HW_UART_RECEIVE只是块和旋转。
有没有一种使用对话框UART API实现UART接收处理程序的好方法,它将有助于可靠地获取UART数据。我不知道我将收到多少个字节,所以我认为它需要基于中断。
任何帮助将不胜感激。
谢谢并恭祝安康,
Subramanyan
关键词:
设备:
你好,
重新向同一问题,是有没有办法进行基于中断的UART接收多个字节。唯一的reqirement是我不知道我将收到的字节数。因此,只要UART接收到它,我都需要收到数据。
嗨Subramanyan,
谢谢你的问题在线。通常,我们强烈建议使用适配器而不是低级驱动程序(LLD)来访问硬件外围设备,因为不仅提供对外设的访问权限,还可以确保当前正在访问它的其他任务,暂停其操作,直到外围设备暂停其操作再次发布。因此,如果另一个任务在同一时间访问相同的外围设备,则不必担心。此外,在睡眠模式下,所有外围块都断电。
适配器从“AD_”和“HW_”开始
为此,要访问UART外围设备,我建议使用UART适配器。请大家看看DA1469X UART适配器示例来自我们的支持页面。
ad_uart_read()调用hw_uart_receive()。如果你通过建议的示例代码,你会看到一个字符同步和应用程序等待,如果有一个成功读取,然后将它写回的char UART(回波)。
还请检查AD_UART.H中的AD_UART_READ()函数的注释 - RLEN参数设置要读取的字节数。
谢谢,PM_DIALOG.
谢谢,PM_Dialog。我看到了适配器恳求,并看到它也呼叫LLD。所以,我不认为使用它的。
我会检查这个。