同步通信:带时钟同步信号
异步通信:不带时钟同步信号
通信的速率
比特率
波特率:码元(可能多个二进制位表示一个码元)
同步下,CPOL CPHA配合产生采样信号
内接口(通信协议):SPI,I2C,
外接口(端口):CAN,USB
CAN以太网
USART超级终端
全双工有两个端口
RS232全双工异步
USART比UART多了同步通信功能,因此可以把USART当做SPI来用,比如用USART来驱动SPI设备。
RS232(DB9),电压标识值相差较大(对TTL电平有一个电平转换芯片),容错好
TTL电平:直接从外设出来的电平
地址:I2C是通过发送地址数据信号,SPI通过从机使能引脚SS控制。
SPI
例如所使用的板卡中,采用SPI与触摸屏通讯,通过SPI发送获取触点横纵坐标的命令和接收
I2C
支持多设备的总线
scl主机产生,从机有一个属于自己的地址供主机选择。scl高sda有效
实验中使用的板卡, I2C通讯用于STM32(主机)与EEPROM的通讯
wp接地,不使用AT34C02芯片写保护功能
I2C的结构体中包含
uint16_t I2C_OwnAddress1; /*!< Specifies the first device own address.
This parameter can be a 7-bit or 10-bit address. */
查看芯片AT34C02的datasheet查找他的地址计算规则
设备地址字由用于正常读写操作的前四个最重要位(1010)和用于写入写保护寄存器的0110的强制一零序列组成。 接下来的3位是AT34C02EEPROM的A2、A1和A0设备地址位。 这3位必须与它们相应的硬连线输入引脚进行比较。 设备地址的第八位是读/写操作选择位。 如果该位高,则启动读操作,如果该位低,则启动写操作。 在比较设备地址时,EEPROM将输出零。 如果没有进行比较,芯片将返回待机状态。 如果写入保护寄存器已被编程,并且控制代码为0110,则设备将不会确认。
EEPROM的写地址定义为:1010 A0 A1 A2 0 0xA0
EEPROM的读地址定义为:1010 A0 A1 A2 1 0xA1
这其中A0~A2就代表芯片的A0到A2三个引脚的电平状态,这里板卡都接了地,所以A0 A1 A2都是0(最多可以有8个EEPROM)
所以0x50