打開設備的函數參數要與注冊設備函數參數要一致, 注冊設備的函數及其參數如下: /* 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都注釋掉。