嗨,
我在对话框14695上使用WIRA 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,如果读取成功,则将CHAR写回UART(ECHO)。
还请检查AD_UART.H中的AD_UART_READ()函数的注释 - RLEN参数设置要读取的字节数。
谢谢,PM_DIALOG.
谢谢,PM_Dialog。我看到了适配器恳求,并看到它也呼叫LLD。所以,我没有想到使用它。
我会检查一下。