流程
- rt_hw_usart_init中调用rt_device_register将dev->flag设置为RT_DEVICE_FLAG_RDWR | RT_DEVICE_FLAG_INT_RX(如果开启了DMA,则RT_DEVICE_FLAG_RDWR | RT_DEVICE_FLAG_INT_RX| RT_DEVICE_FLAG_DMA_RX )
- rt_console_set_device使用RT_DEVICE_OFLAG_RDWR | RT_DEVICE_FLAG_STREAM打开一次,此时只能输出不能输入
- finsh_set_device使用RT_DEVICE_OFLAG_RDWR | RT_DEVICE_FLAG_INT_RX | RT_DEVICE_FLAG_STREAM再打开一次,此时已经能够输入
疑问:
- 之前的rt-thread版本打开标志位为RT_DEVICE_OFLAG_RDWR | RT_DEVICE_FLAG_INT_TX |RT_DEVICE_FLAG_INT_RX | RT_DEVICE_FLAG_STREAM,为什么新版本使用RT_DEVICE_FLAG_INT_TX之后就无法输出了?