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都注释掉。







 

 


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM