江协科技STM32入门教程——通信接口
一.通信协议
通信目的:将一个设备的数据传输到另一个设备,扩展硬件系统
通信协议:制定通信的规则,通信双方按照协议规则进行数据收发
硬件电路
简单串口通信有两根通信线(发送端TX和接收端RX)
TX和RX要交叉连接
当只需要单向的数据传输时,可以只接一根通信线
当电平标准不一致时,需要加电平转换芯片
电平标准
电平标准是数据1和数据0的表达方式,是传输线缆中人为规定的电压与数据的对应关系,串口常用的电平标准有如下三种:
TTL电平:+3.3V或+5V表示1,0V表示0
RS232电平:-3——-15V表示1,+3——+15V表示0
RS485电平:两线压差+2——+6V表示1,-2——-6V表示0(差分信号)
串口参数及时序
波特率:串口通信的速率
起始位:标志一个数据帧的开始,固定为低电平
数据位:数据帧的有效载荷,1为高电平,0为低电平,低位先行
校验位:用于数据验证,根据数据位计算得来
停止位:用于数据帧间隔,固定为高电平
二.串口外设
USART和UART的区别:S表示同步USART表示同步串口收发器,UART表示异步串口收发器
USART可以根据数据寄存器的一个字节数据自动生成数据帧时序从TX引脚发送出去,也可自动接收RX引脚的数据帧时序,拼接为一个字节的数据,存放在数据寄存器里
USART自带波特率发生器,最高可达4.5Mbits/S
可配置数据位长度(8/9),停止位长度(0.5/1/1.5/2)
可选校验位(无校验/奇校验/偶校验)
支持同步模式,硬件流控制模式,DMA,智能卡,IrDA,LIN
F103C8T6USART资源:USART1,USART2,USRT3
只有USART1是APB2总线上的设备,其余都是APB1总线上的设备
USART基本结构
波特率发生器用于产生约定的通信速率
发送控制器和接收控制器,用来控制发送移位和接收移位
数据帧
波特率发生器
发送器和接收器的波特率由波特率寄存器BRR里面的DIV确定
计算公式:波特率=fPCLK2/1/(16*DIV)
三.代码部分
PA9接发送端口,PA10接接收端口,VCC脚和3.3V脚接跳线帽
整体代码会分享出来