嗨,我正在使用基于DA1468x的自定义板,我在我的项目中使用UART 1和UART 2。
UART 1正在被用于printf和我想使用UART2通信之间的另一个板DA1468x基于。
写不是问题,我已经成功地写字节到UART2。
问题是,我应该如何从uart读取字节。我应该在另一个任务中轮询UART2读取还是我应该使用中断。在我以前在其他微控制器上的经验中,我使用过基于中断的uart接收,但在这种情况下,我感到困惑。你有什么建议?
如果基于中断的方法是推荐的,那么是否有任何示例代码可用于中断分配到uart2接收,因为我目前无法找到。
谢谢
关键词:
设备:
嗨mahmed106,
您可以将UART1用于printf(),将UART2用于适配器。默认情况下,printf()使用UART2,但如果您应该在custom_config_xxx.h heder文件中添加#define CONFIG_RETARGET和#define CONFIG_RETARGET_UART HW_UART1,则可以将其更改为UART1。对于UART2,我们建议使用适配器。一般来说,我们将适配器在多任务环境中的使用称为FreeRTOS。注意UART2已经实现了HW流量控制(rts/cts)。UART1和UART2不需要执行两个不同的任务。
谢谢,PM_Dialog
所以这是否意味着,如果数据接收uart和我读它bit后,我将收到完整的数据或不?
我的意思是有任何硬件/软件FIFO为uart接收,我可以稍后读取或我必须在那个确切的实例读取?
嗨mahmed106,
根据数据表,只有UART2支持16字节的发送和接收fifo。在两个uart上都有DMA支持。
谢谢,PM_Dialog