1.通信接口:
TX引脚定时发送高低电平,RX引脚同一速率接收高低电平。每个字节的数据+起始站+停止位+校验位,即为帧,由TX传递给RX。
USART是串口通信,TX是数据发送脚,RX是数据接收脚。
SCL是时钟,SDA是数据。
MOSI是主机输出数据脚,MISO是主机输入数据脚。CS是片选,用于指定通信对象。
CAN_H,CAN_L DP(D+),DM(D-)都是一对差分数据脚。
全双工:通信双方能进行双向通信。一般两根通信线,如串口一根是TX发送,一根是RX接收。
时钟同步异步:是看有没有SCL或SCLK,如果有,就是同步时钟,没就是异步时钟。
电平单端:通信的线都要接GND,有电压差。
电平差分:靠两个差分引脚的电平差来传输信号。差分信号能极大提高抗干扰特性。所以传输速度,传输距离高,性能优越。
多设备:需要寻址,确定通信对象。
2.串口通信:
注:单片机与电脑通信,是单片机的优点。单片机与单片机一般使用SPI,IIC通信等。
第一个是USB转串口模块(CH340),把串口协议转USB协议。
中间是陀螺仪传感器模块,测量角速度,加速度等姿态参数。左右各有四个引脚,分别是串口引脚和IIC引脚。
右边是蓝牙串口模块。
3.硬件电路:
注:GND要与TX,RX对比,产生单端电平,所以也属于通信线,但是VCC不是,只是供电,如果设备内部有供电,可不接。
4.电平标准:
常用的就是TTL电平。
RS232电平一般用于工业,环境恶劣,可波动范围大。
理解:当TTL电平发送的电平和GNDV相差为0V,即为发送信号0。当TTL电平发送的电平和GNDV相差为3.3V,即为发送信号1。
5.串口参数及时序
波特率:发送接收要提前约定接收数据的速率,如每秒发送几位,每秒接收几位,防止对数据解析产生偏差。波特率决定每个多久发送/接收一位。
起始位:没有电平时(图中空闲处),为高电平,起始位为0。
固定位:固定位为1,把引脚恢复为高电平。
数据位的低位先行:如发送0X0F,为0000 1111,发送时发送为1111 0000,对应图中(包含起始位停止位)为10 1111 0000 1。
校验位:校验可选择三种模式.分别是无校验(左图),奇校验(右图),偶校验(右图)。
奇校验:通过查找最后结果是否是期待的奇数个1。如传递为0000 1111,奇校验变为0000 1111 1。
如传递为0000 0111,奇校验变为0000 0111 0。为了保证校验结束1的个数为奇数。
6.串口时序:
如左图上方第一个:波特率为9600,速度为1/9600,约为104us。
此处理解较为方便,不再赘述。
发送和接收功能,通过USB转串口可调整。
通过配置调整串口号等参数,接收模式可选择HEX模式和文本模式。HEX模式就是本身,文本模式就是每个字符对应的ASCII值,如41为,41 A
通过串口助手完成如下操作:
发送数据:STM32发送数据,串口数据显示
接收区:通过串口助手发送数据,OLED接收