jinxueHou

导航

STM32移植RT-Thread的串口只能接收一个字节数据的问题


打开设备的函数参数要与注册设备函数参数要一致, 注册设备的函数及其参数如下:
/* register UART1 device */ rt_hw_serial_register(&serial1, "uart1", RT_DEVICE_FLAG_RDWR | RT_DEVICE_FLAG_INT_RX | RT_DEVICE_FLAG_DMA_RX, uart); #endif /* RT_USING_UART1 */
打开设备函数及其参数如下: rt_device_open(device, RT_DEVICE_FLAG_RDWR | RT_DEVICE_FLAG_INT_RX | RT_DEVICE_FLAG_DMA_RX); 这样就能接收不定长度的数据了。
以上两个函数---注册设备函数和打开设备函数串口的发送接收数据的方式是:中断接收,DMA发送。

调试结果如下:






特别值得注意的地方,事先在rtconfig.h里面把#define RT_USING_CONSOLE和#define RT_USING_FINSH都注释掉。







 

 

posted on 2016-12-15 14:42  梦想,飞翔  阅读(2241)  评论(0编辑  收藏  举报