一:2个状态位_itstatus与_flagstatus的区别: _flagstatus:只是读状态标志,不管中断是否使能或发生。例如使用查询方式发送数据就需要读改状态位。 _itstatus:和中断相关,除了读状态位外还涉及对控制寄存器的操作,使用中断方式必须使用该状态位进行中断是否发生的判断和状态位的清0. 二两个发送中断的区别:TC和TXE 串口数据发送的过程是:先写数据到DR寄存器-&gt
转载 2015-04-06 10:46:00
432阅读
2评论
TXE标志位(针对 发送数据寄存器)TXE为1:TDR里的数据全部移到了移位寄存器,且没有新的数据进TDR。TXE为0:TDR里有数据,未空,则TXE为0。TXE与"FlagStatus USART_GetFlagStatus(USART_TypeDef* USARTx, uint16_t USART_FLAG)"搭配使用来判断TDR中是否存在数据int main (void){ My_ _US
原创 2022-07-08 00:13:50
5055阅读
2点赞
前言STM32固件库中提供了串口收发的标志位函数,包括USART_GetFlagStatus(…,…);和USART_GetITStatus(…,…);,两者容易混淆,重点区别就在于:前者返回值是中断标志位状态(读SR寄存器),后者返回值是中断发生与否的判断(读CR寄存器),以下主要对这两个函数进行分析。一、USART_GETFlagStatus(…,…)20 FlagStatus USART_G
转载 6月前
122阅读