串口通信(USART)
利用串口可以帮我们调试程序、、
串口的通信协议: 要配置串口通信, 至少要设置“字长”(一次传送的数据长度)、“波特率”(每秒钟传送二进制数据的位数)、“校验位”、
串口的时钟源经过USARTDIV分频后作为发送器时钟及接收器时钟,控制发送和接收的时序。
基本上所有外设都有以下几类寄存器:
1.控制寄存器xxx_CR(Control/Configuration Register): 这类寄存器是用来配置、控制相应外设的工作方式的。如GPIOx_CLR、GPIOx_CHR、APIO_EXTICR1~APIOEXTICR4,串口的USART_CR1~USART_CR3等。
2.数据寄存器xxx_DR (Data Register) : 这类寄存器主要是存储了外设进行输出输入的数据。如GPIOx_IDR、GPIOx_ODR、USART_DR等。
3.状态寄存器xxx_SR(Status Register): 这类寄存器主要存储了当前外设的运行状态,主要为一些标志位。如USART_SR、ADC_SR等。
初始化时候用的各类xxx_InitTypeDef.这里面的控制参数就是与相应外设的控制寄存器xxx_CR相对应。
对外设的应用,一般涉及其输入和输出数据,如GPIO的输入输出函数:GPIO_ReadOutputDataBit()、GPIO_ReadInputData()、GPIO_SetBits();
还有USART的收发数据函数:USART_ReceiveData()、USART_SendData(),
这些函数控制相应外设数据寄存器xxx_DR.
当外设完成了某些工作或出现某些状态的时候, 汇出发一些事件,这些时间会在状态寄存器SR中, 以不同的寄存器未来记录。这些寄存器为成为相应的事件标志位。
外设都有xxx_Cmd()函数,用来使能外设。
本文介绍了串口通信的基本原理,包括通信协议配置项如字长、波特率、校验位等,以及串口通信中使用的各类寄存器的作用,如控制寄存器、数据寄存器和状态寄存器。此外还提到了初始化配置参数与控制寄存器的关系,并列举了一些常用函数及其作用。
241

被折叠的 条评论
为什么被折叠?



