一、STM32
10.3 - I2C通信外设
1. I2C外设简介
(1)STM32内部集成了硬件I2C收发电路,可以由硬件自动执行时钟生成、起始终止条件生成、应答位收发、数据收发等功能,减轻CPU的负担;
(2)支持多主机模型、7位/10位地址模式和不同的通讯速度,标准速度(高达100 kHz),快速(高达400 kHz);
(3)支持DMA,兼容SMBus协议;
(4)串口同时支持软件模拟和硬件模拟器自动触发,对于串口异步时序,几乎全由硬件实现。对于I2C的同步时序,软件实现则更加灵活简单。
2. SMBus协议
(1)SMBus(System Management Bus)协议是一种用于计算机系统内部设备管理的串行通信协议,是基于I2C协议,但进行了扩展和标准化,以满足系统管理的特定需求;
(2)起始条件:当SCL线为高电平时,SDA线从高电平变为低电平,表示通信开始;
(3)数据传输:数据在SCL的每个时钟周期内传输一个字节,数据位在SCL的上升沿被采样,SDA线上的数据在SCL的下降沿变化;
(4)应答位:每个数据字节后,接收设备发送一个应答位(ACK)或非应答位(NACK),表示数据是否正确接收;
(5)停止条件:当SCL线为高电平时,SDA线从低电平变为高电平,表示通信结束。
3. SMBus与I2C的区别
(1)速度:SMBus的速度通常为10kHz到100kHz,而I2C的速度可以高达400kHz(快速模式)或3.4MHz(高速模式);
(2)数据包格式:SMBus的数据包格式更加严格,包括起始条件、地址字节、数据字节、应答位和停止条件,而I2C的数据包格式相对灵活;
(3)设备地址:SMBus的设备地址范围是0x00到0x7F,而I2C的设备地址范围是0x00到0x7F(7位地址)或0x0000到0x7FFF(10位地址);
(4)应答机制:SMBus的应答机制更加严格,每个数据字节后都有一个应答位,而I2C的应答机制相对灵活。
4. I2C基本结构
10.4 - 硬件I2C读写MPU6050
1. I2C在Keil 5中的初始化设定
(1)开启I2C外设和对应GPIO口的时钟;
(2)把I2C外设对应的GPIO口初始化为复用开漏模式;
(3)使用结构体,对整个I2C进行配置;
(4)I2C_Cmd,使能I2C。
2. 基础函数
(1)l2C_GenerateSTART:生成起始条件;
(2)I2C_Mode:I2C模式;
(3)I2C_ClockSpeed:配置时钟速度;
(4)I2C_DutyCycle:时钟占空比;
(5)I2C_Ack:配置寄存器ACK位;
(6)I2C_AcknowledgedAddress:响应几位的地址(7位/10位);
(7)I2C_OwnAddress1:指定STM32的自身地址。
二、空气动力学
第一章、空气动力学引述
4、空气对物体的力:
(1)压力(Pressure):沿物体法线方向;
(2)剪切力(Share Stress):沿物体切线方向;
在对各点以上的力微积分求合力之后得到空气中物体所受的力。
5、空气动力R(Resultant):
(1)升力L(Lift):水平分力;
(2)阻力D(Drag):竖直分力;
这里的水平与竖直对应的是自由来流的方向。以上成为风轴系。
如果一直迎角(即翼弦与自由来流的夹角),则可以求出:
(1)法向力N(Normal):沿机翼方向(默认向上是正);
(2)轴向力A(Axial):垂直于机翼方向。这称为体轴系。
6、力矩M(Moment):通常求空气动力对机翼的前缘或者后缘产生的力矩:力×力臂;
(1)若力矩使物体:抬头则为正,低头则为负;
(2)力矩计算要有参考点,LE:前缘,TE:后缘。
标签:1.17,SMBus,SCL,应答,高电平,STM32,单片机,地址,I2C From: https://blog.csdn.net/2402_86234774/article/details/145215782