目录
Clock No Stretch Mode(时钟无拉伸模式)
Primary Address Length selection(主地址长度选择):
基础设置
在sys里Serial Wire
在RCC中设置晶振
设置时钟
GPIO:
在这里选择GPIO的形式
配置GPIO的类型的具体东西(上拉,下拉。上升延触发中断,下降沿触发中断)
User label一般不会管的
Output:
上拉下拉取决于原理图是否有其电阻
Input:
中断:NVIC
然后再GPIO,NVIC中使能
时钟:
选择外部时钟
clock configuration
选择HSE和PLLCLK
对定时器的计算(配置)很重要
串口配置:
波特率要和另一端相同:如9600
如果要用到话,注意中断使能
ADC配置:
ADC_Settings:
Data Alignment:右对齐(默认)
扫描转换模式
连续转换模式
非连续转换模式
中断非阻塞式
IIC配置:
硬件IIC:专门电路实现
模拟IIC:用GPIO和软件软件模拟实现
12、I2C主机(HAL库的轮询)_哔哩哔哩_bilibili
不同芯片的范围不一样,具体参考数据手册
IIC Speed Mode
标准模式(Standard Mode, SM):
- 通讯速率:100kbps(即100kbit/s,或12.5KB/s,因为1字节=8比特)。
- 特点:这是I2C总线最基本的通讯速度,适用于较长的总线和较慢的设备,如LCD显示屏、温度传感器等。在标准模式下,时钟频率最高可以达到100 kHz,总线电容最大为400 pF。
- 快速模式(Fast Mode, FM):
- 通讯速率:400kbps(即400kbit/s,或50KB/s)。
- 特点:这种通讯速度适用于数据传输速度要求较高的设备,如EEPROM、实时时钟等。在快速模式下,时钟频率最高可以达到400 kHz,总线电容最大为400 pF。
- 快速模式+(Fast Mode Plus, FM+):
- 通讯速率:1Mbps(即1Mbit/s,或125KB/s)。
- 特点:快速模式加是I2C总线的一种改进版快速模式,适用于对数据传输速度要求更高的设备,如高速ADC、高速数字信号处理器等。
- 高速模式(High Speed Mode, HS):
- 通讯速率:3.4Mbps(即3.4Mbit/s,或435KB/s)。
- 特点:高速模式是I2C总线的一种较快的通讯速度,适用于对数据传输速度要求非常高的设备,如高清视频处理器、高速闪存等。在高速模式下,时钟频率最高可以达到3.4 MHz,总线电容最大为400 pF。
- 超快速模式(Ultra Fast Mode, UFM):
- 通讯速率:5Mbps(即5Mbit/s,或525KB/s)。
- 特点:这种通讯速度适用于需要超高速数据传输的设备,如图像处理器、高速网络接口等。需要注意的是,超快速传输是单向传输且不兼容其他模式。
IIC Clock Speed的范围
- 标准模式(Standard Mode):
- 时钟频率:最高可达100kHz(即100,000Hz)。
- 通讯速率:最高可达100kbps(即100kbit/s),因为每个时钟周期可以传输1bit数据。
- 快速模式(Fast Mode):
- 时钟频率:最高可达400kHz(即400,000Hz)。
- 通讯速率:最高可达400kbps(即400kbit/s)。
- 高速模式(High Speed Mode, HS):
- 时钟频率:最高可达3.4MHz(即3,400,000Hz)。
- 通讯速率:最高可达3.4Mbps(即3.4Mbit/s)。
Clock No Stretch Mode(时钟无拉伸模式)
Clock No Stretch Mode(时钟无拉伸模式)是IIC(Inter-Integrated Circuit,即集成电路总线)通信中的一个重要特性,它涉及到主设备和从设备在数据传输过程中的时钟控制。
基本概念
在IIC通信中,时钟信号(SCL)由主设备产生,用于同步主设备和从设备之间的数据传输。然而,在某些情况下,从设备可能需要更多的时间来准备数据或处理中断,这时从设备可以通过将时钟线(SCL)拉低来延长时钟周期,这就是所谓的“时钟拉伸”(Clock Stretching)。然而,当Clock No Stretch Mode被启用时,从设备将不再具有这种能力,即它们不能通过拉低SCL线来延长时钟周期。
工作原理
标准行为:在默认情况下,许多IIC从设备支持时钟拉伸,这意味着当从设备需要更多时间来处理数据时,它会将SCL线拉低,直到准备好继续传输为止。此时,主设备会检测到SCL线保持低电平,并相应地停止发送数据,直到SCL线再次被拉高。
Clock No Stretch Mode:当启用Clock No Stretch Mode时,从设备不再能够拉低SCL线来延长时钟周期。这意味着主设备将按照预定的时钟频率持续发送数据,而不会等待从设备准备好。这可以提高数据传输的效率,但要求从设备必须能够在主设备发送数据的速率下及时响应。
应用场景
- 高速数据传输:在需要高速数据传输的应用中,启用Clock No Stretch Mode可以减少数据传输的延迟,提高系统的整体性能。
- 从设备性能限制:如果从设备的处理速度较慢,或者其内部逻辑不允许进行时钟拉伸,那么启用Clock No Stretch Mode可以确保数据传输的顺利进行。
注意事项
- 兼容性:在启用Clock No Stretch Mode之前,需要确保所有连接到IIC总线的从设备都支持该模式,否则可能会导致通信失败。
- 系统稳定性:在某些情况下,从设备可能需要通过时钟拉伸来避免数据丢失或错误。因此,在启用Clock No Stretch Mode之前,需要仔细评估系统的稳定性和可靠性。
Primary Address Length selection(主地址长度选择):