STM32F2—通用同步异步收发器USART培训内容帧格式数据帧的字长度校验位时钟波特率控制和时钟容忍通信方式单线半双工通信多处理器通信集成的多种模式支持同步通信模式(输出时钟信号支持调制解调操作(硬件流控)支持红外(DA) SIR ENDEC规范支持 Smart card协议支持LN协议发送、接收操作以及对应标志DMA特性和中断STM32F1和STM32F2的 USART比较USART及模块引脚USART:通用串行总线,可实现同步或异步的全双工通信模块引胭RX:接收数据引脚TX:发送数据引脚SCLK:发送时钟输出用于控制有移位寄存器的设备时钟极性和相位可编程nCts硬件流控引脚高电平时,表示当前数据传输结束后停止数据的发送MRTS硬件流控引脚低电平时,表示 USART准备好接收数据了6个 USART模块引脚分布目前所有STM32F2系列产品都具有:4个 USART模块2个UART模块高速外设总线APB2低速外设总线APB1USART1 USART6 USART2USART3∪ART4UART5RXPA10/ PB7PC7/ PG9PA3/PD6PB11/PC11/ PD9PA1/ PC11PD2TXPA9/ PB6PC6/ PG14PA2/ PD5PB10/PC10/ PD8PAO/PC10PC12SCKPA8PC8/ PG7PA4/PD7PB12/PC12/ PD10nctsPA11PG15PAO/ PD3PB13/ PD11MRTSPA12PG8/ PG13PA1/PD4PB14/PD12来蘆色标示的仅在176引封装的芯片上有来紫色标示的仅在100、144和7176引做封装上有5数据帧格式∪SART数据帧的组成起始位(1位)数据字(8/9位,M@ USART CR1)其中包含了校验位(01位,PCE@ USART CR1)停止位(0.5/1/1.52位,STOP@ USART CR2)8位数据帧StartD0D2D3D 4D58th bit1st Stop 2nd Stopbitbit可能是数据位①7:或者校验位9位数据帧1st Stop 2nd SteStart D0 D1 D2D3D 4D5D6D79th bitbitbit可能是数据位08);或者校验位:或者唤醒位两种特殊帧空闲帧(|d| e frame)从起始位到停止位全部是高电平之后跟随了一个有效的数据帧的起始位休息帧( Break frame)从起始位到停止位全部是高电平之后再发送1位或2位的停止位举例:9位字长度1位停止位配置下的特殊帧9-bit word length(M bit is set), 1 stop bitPossibleNext data frameData frameparitybitNextStartbit Bito Bit1 Bit2 Bit3 Bit4 Bit5 Bit6 Bit7 BitS StopStartbitbitClock「L「L「L「「L「L「StartIdle framebitBreak frameStopStartbit bit校验控制奇偶校验:PS@ USART CR1偶校验:使得数据和校验位中”1”的个数为偶数奇校验:使得数据和校验位中”1”的个数为奇数使能控制:PCE@ USART CR1发送方产生校验位二旦使能,数据的MSB发送时被校验位替代接收方核对校验位核对失败置位PE@ USART SR,并条件性地产生中断校验位包含在字长度(8或9位)中字长控制M@CR1校验使能控制PCE@CR1USART帧格式000起始位+8位数据+停止位起始位十7位数据+校验位+停止位0起始位+9位数据+停止位起始位+8位教据+校验位+停止位时钟波特率控制收、发子模块使用相同的波特率产生器但是有各自的使能控制忙E&RE@ USART1cR波特率=fck/[8*(2-OVER8 USARTDIVfcκ表示 USART模块所在的外设总线时钟QVER8@ USART CR1表示8倍还是16倍过采样波特率=fk/8 USARTDIV@8倍过采样波特率=f6k/[16 USARTDIV@16倍过采样USARTDⅣ是由 USART BRR计算出来DIV Mantissa[11:0表示 USARTDIV的整数部分DⅣ V fraction30]表示 USARTDIV的小数部分Baud rate register(USART_ BRR)3130292827262423212019181716Reserved151413121098765320DIV_ Mantissa[11: oDIV- Fraction 3: 0]nvww⊥ wwwww「w⊥ w wwww」收、发子模块使用相同的时钟产生器PWDATAPRDATAWriteRead(Data register) DRCPU or DMA(CPU or DMA)Transmit data register (DR)Receive data register (RDR)Transmit Shift RegisterReceive Shift RegisterTransmitWakeupReceiverRecevercontrolcontralCR1USART BRROVERTransm tter ratecontrolckckSAMPLINGDD∈RDIV_ Mantissa DN_Fractio0PCLKx(x1, 2)Receiver rateREcontrolComventional baudrate generator