控制寄存器 2(USART_CR2)、控制寄存器 3(USART_CR3) CR2和CR3和CR1相同,它们控制着USART模块的一些相对复杂的功能,这些功能对于一般用户而言用到的很少。 我们知道使用串口发送数据是比较占用CPU时间的,STM32支持DMA方式发送和接收串口数据,以解放CPU,提高串口的效率,而USART的DMA模式发送和接收信息的使能位是在CR3中。
CR1 主要是用来配置USART的基本工作环境,像字长、奇偶校验、发送中断、接收中断、使能等等。CR2 有点像是 CR1 的延续,像停止位、USART 时钟输出、还有一些其它的功能。CR3 主要是用来配置一些除了USART的其它功能的,如硬件流控制、DMA、IrDA、智能卡模式等等。 数据寄存器(USART_DR):该寄存器实际上是2个,接收RDR和...
USART_BRR(Baud Rate Register,波特率寄存器): USART_CR1(Control Register 1,控制寄存器1): USART_CR2(Control Register 2,控制寄存器2): USART_CR3(Control Register 3,控制寄存器3): USART_GTPR(Guard Time and Prescaler Register,守护时间和预分频器寄存器): USART_IT(Interrupt Register,中断寄存器): 7. 中...
传输模式:如果USART_CR1的PCE位被置位,写进数据寄存器的数据的MSB位被校验位替换后发送出去(如果选择偶校验偶数个’1’,如果选择奇校验奇数个’1’)。如果奇偶校验失败,USART_SR寄存器中的PE标志被置’1’,并且如果USART_CR1寄存器的PEIE在被预先设置的话,中断产生。 4.8、LIN(局域互联网)模式 LIN模式是通过设置...
控制寄存器1(USART_CR1)的TE位负责使能发送器,发送器就会“叫醒”发送移位寄存器。 控制寄存器1(USART_CR1)的RX位负责使能接收器,接收器就会“叫醒”接收移位寄存器。 控制寄存器1的TXEIE或RXNEIE置1可以产生中断。 控制寄存器1其他位:TXE:发送移位寄存器为空,发送单个字节时使用。TC:发送完成,发送多个字节数据时候使...
串口支持的帧格式如下(M和PCE都是USART_CR1寄存器的位,其中M位用于控制帧长度,PCE用于使能奇偶校验位): 这里特别注意奇偶校验位,用户在配置的时候可以选择奇校验和偶校验,校验位是占据的最高位。比如选择M=00,PCE=1,即7bit的数据位。 串口发送数据:
STM32的USART模块CR1的第15位 CR1_OVER8_Set,位于CR1的第15位,但是手册里面没有提到(rev14);根据手册里面提到的波特率计算公式,估计默认这个位是0,代表每个bit采样16次,而置位的时候,每bit采样8次。
1、通过在USART_CR1寄存器上置位UE位来激活USART 2、设置USART_CR1的M位来定义字长; 3、设置USART_CR2中停止位的位数; 如果采用多缓冲器通信,配置USART_CR3中的DMA使能位(DMAT),按多缓冲器通信中的描述配置DMA寄存器; 4、设置USART_CR1中的TE位,发送一个空闲帧作为第一次数据发送; ...
控制寄存器1 ---CR1(Control register 1):USART使能、发送接收使能、校验、字长设定; 复位值:0x0000 0000 控制寄存器2 ---CR2(Control register 2):时钟与停止位设定; 复位值:0x0000 0000 控制寄存器3 ---CR3(Control register 3):CTS、RTS、DMA、智能卡、半双工、红外模式使能; ...
TC:发送完成标志 TXE:发送数据寄存器空,数据是否被送入移位寄存器中 USART_DR数据寄存器 存放USART发送和接收的数据 USART_BRR 波特比率寄存器 设置波特率 USART_CR1 控制寄存器1 配置USART参数: 位9:校验位配置(奇/偶) 位10:校验位使能 位12:字长配置