在串口通信中许多人刚开始新手没理解各个寄存器的关系下面给大家附上一张
可以看出TDR()传输寄存器) 和RDR(接受寄存器 )在传送数据时还有TSR (传输移位寄存器)和RSR(接受移位寄存器)这两个是直接连接到TX和RX然后进行数据传输的 那么我给大家 TDR->TSR->TX引脚 USART_ITConfig(USART2,USART_IT_RXNE,ENABLE);//这个函数是设置是哪种中断的
RXNE含义 :即RDR寄存器有置,不为空就会产生中断(说明接受到数据了)\ RXNE 位 :RXNE pending bit is cleared by a read to the USART_RDR register
* (USART_ReceiveData()也就说调用这个函数就会被清除标志位 or by writing 1 to the RXFRQ in the register* USART_RQR (USART_RequestCmd()).或者通过写寄存器(没用。。)
TXE含义:TDR寄存器(发送数据寄存器空)为空就会产生中断。也就是说TDR->TSR(移位寄存器),这时TDR为空 就会产生中断 TXE位:当TDR中的数据转移到TSR中时TXE置1,如果有数据写入TDR时就能将TXE置0;
|