大家好!串口有DMA、中断和轮询模式,请问如何把收发都设置为轮询模式?
目前串口的模式参数有以下几种
#define RT_DEVICE_FLAG_STREAM 0x040 /* 流模式 */
/* 接收模式参数 */
#define RT_DEVICE_FLAG_INT_RX 0x100 /* 中断接收模式 */
#define RT_DEVICE_FLAG_DMA_RX 0x200 /* DMA 接收模式 */
/* 发送模式参数 */
#define RT_DEVICE_FLAG_INT_TX 0x400 /* 中断发送模式 */
#define RT_DEVICE_FLAG_DMA_TX 0x800 /* DMA 发送模式 */
在实际使用时,我不用轮询模式,只是比较好奇该如何将收发同时设置为轮询模式
@DuBaojun 那就没有了,rtt 是多任务系统,容不下这种 while 读寄存器的操作。
@出出啊 我查阅了一下serial.c部分的代码,将串口的工作模式设置为RT_NULL,串口的收发就会都设置为轮询模式。
@DuBaojun 哦,这样,可以直接读寄存器。