天天看点

stm32串口Debug

串口

1,串口时钟使能。CCR寄存器 APB2ENR

2,串口波特率设置。

3,串口控制。OVER8为过采样模式设置位,我们一般设置位 0,即 16 倍过采样已获得更好的容错性;

UE 为串口使能位,通过该位置 1,以使能串口;

M 为字长选择位,当该位为 0 的时候设置串口为 8 个字长外加 n 个停止位,停止位的个数(n)是根据 USART_CR2 的[13:12]位设置来决定的,默认为 0;

PCE 为校验使能位,设置为 0,则禁止校验,否则使能校验;

PS 为校验位选择位,设置为 0 则为偶校验,否则为奇校验;

TXIE 为发送缓冲区空中断使能位,设置该位为 1,当 USART_SR 中的 TXE 位为 1 时,将产生串口中断;

TCIE 为发送完成中断使能位,设置该位为 1,当 USART_SR 中的 TC 位为 1时,将产生串口中断;RXNEIE 为接收缓冲区非空中断使能,设置该位为 1,当 USART_SR 中的 ORE 或者 RXNE 位为 1 时,将产生串口中断;

TE 为发送使能位,设置为 1,将开启串口的发送功能;

RE 为接收使能位,用法同 TE。

4,数据发送与接收。DR[8:0]

5,串口状态。状态寄存器 USART_SR

RXNE(读数据寄存器非空),当该位被置 1 的时候,就是提示已经有数据被接收到了,并且可以读出来了。

TC(发送完成),当该位被置位的时候,表示 USART_DR 内的数据发送完成。如果设置了这个位的中断,则会产生中断。

继续阅读