diff --git a/image/CopyQ.KIoapY.png b/image/CopyQ.KIoapY.png new file mode 100644 index 0000000000000000000000000000000000000000..66df90f6cf8ac6ee1e5b39ce000ae6d45d259aad Binary files /dev/null and b/image/CopyQ.KIoapY.png differ diff --git a/rt-thread-version/rt-thread-standard/programming-manual/device/uart/uart_v1/uart.md b/rt-thread-version/rt-thread-standard/programming-manual/device/uart/uart_v1/uart.md index 4977452cd661121a51d5f72a0ca4cbc1e0a03ff4..3c210c86eaa6ce88790340ce7aedbb27c31089cc 100644 --- a/rt-thread-version/rt-thread-standard/programming-manual/device/uart/uart_v1/uart.md +++ b/rt-thread-version/rt-thread-standard/programming-manual/device/uart/uart_v1/uart.md @@ -579,24 +579,36 @@ static void serial_thread_entry(void *parameter) { struct rx_msg msg; rt_err_t result; - rt_uint32_t rx_length; + rt_uint32_t rx_length = 0; static char rx_buffer[RT_SERIAL_RB_BUFSZ + 1]; - - while (1) + char input; + while(1)![输入图片说明](../../../../../../CopyQ.KIoapY.png) { - rt_memset(&msg, 0, sizeof(msg)); - /* 从消息队列中读取消息*/ result = rt_mq_recv(&rx_mq, &msg, sizeof(msg), RT_WAITING_FOREVER); - if (result > 0) + if(result < 0) + { + rt_kprintf("mq recv err\n"); + } + + rt_device_read(msg.dev, 0, &input, 1); + rx_buffer[rx_length++] = input; + rt_kprintf("input: %c\n",input); + + /* 以回车为缓冲区输出标志 */ + if(input == '\r') { - /* 从串口读取数据*/ - rx_length = rt_device_read(msg.dev, 0, rx_buffer, msg.size); - rx_buffer[rx_length] = '\0'; /* 通过串口设备 serial 输出读取到的消息 */ - rt_device_write(serial, 0, rx_buffer, rx_length); + rt_size_t size = rt_device_write(msg.dev, 0, rx_buffer, sizeof(rx_buffer)); + if(size != sizeof(rx_buffer)) + { + rt_kprintf("write err\n"); + } /* 打印数据 */ - rt_kprintf("%s\n",rx_buffer); - } + rt_kprintf("rx_buffer: %s\n", rx_buffer); + /* 重置初始量 */ + rx_length = 0; + rt_memset((void*)rx_buffer, 0, sizeof(rx_buffer)); + } } } @@ -787,3 +799,4 @@ MSH_CMD_EXPORT(uart_data_sample, uart device sample); ``` +![输入图片说明](../../../../../../imageCopyQ.KIoapY.png)![输入图片说明](../../../../../../image/CopyQ.KIoapY.png) \ No newline at end of file