STM32cubemx的开发流程

目录

基础设置

GPIO:

Output:

Input:

中断:NVIC

时钟:

串口配置:

ADC配置:

IIC配置:

IIC Speed Mode

IIC Clock Speed的范围

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

  1. 标准模式(Standard Mode, SM)

    • 通讯速率:100kbps(即100kbit/s,或12.5KB/s,因为1字节=8比特)。
    • 特点:这是I2C总线最基本的通讯速度,适用于较长的总线和较慢的设备,如LCD显示屏、温度传感器等。在标准模式下,时钟频率最高可以达到100 kHz,总线电容最大为400 pF。
  2. 快速模式(Fast Mode, FM)
    • 通讯速率:400kbps(即400kbit/s,或50KB/s)。
    • 特点:这种通讯速度适用于数据传输速度要求较高的设备,如EEPROM、实时时钟等。在快速模式下,时钟频率最高可以达到400 kHz,总线电容最大为400 pF。
  3. 快速模式+(Fast Mode Plus, FM+)
    • 通讯速率:1Mbps(即1Mbit/s,或125KB/s)。
    • 特点:快速模式加是I2C总线的一种改进版快速模式,适用于对数据传输速度要求更高的设备,如高速ADC、高速数字信号处理器等。
  4. 高速模式(High Speed Mode, HS)
    • 通讯速率:3.4Mbps(即3.4Mbit/s,或435KB/s)。
    • 特点:高速模式是I2C总线的一种较快的通讯速度,适用于对数据传输速度要求非常高的设备,如高清视频处理器、高速闪存等。在高速模式下,时钟频率最高可以达到3.4 MHz,总线电容最大为400 pF。
  5. 超快速模式(Ultra Fast Mode, UFM)
    • 通讯速率:5Mbps(即5Mbit/s,或525KB/s)。
    • 特点:这种通讯速度适用于需要超高速数据传输的设备,如图像处理器、高速网络接口等。需要注意的是,超快速传输是单向传输且不兼容其他模式。

IIC Clock Speed的范围

  1. 标准模式(Standard Mode)
    • 时钟频率:最高可达100kHz(即100,000Hz)。
    • 通讯速率:最高可达100kbps(即100kbit/s),因为每个时钟周期可以传输1bit数据。
  2. 快速模式(Fast Mode)
    • 时钟频率:最高可达400kHz(即400,000Hz)。
    • 通讯速率:最高可达400kbps(即400kbit/s)。
  3. 高速模式(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线来延长时钟周期。

工作原理

  1. 标准行为:在默认情况下,许多IIC从设备支持时钟拉伸,这意味着当从设备需要更多时间来处理数据时,它会将SCL线拉低,直到准备好继续传输为止。此时,主设备会检测到SCL线保持低电平,并相应地停止发送数据,直到SCL线再次被拉高。

  2. 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(主地址长度选择):

  • 10
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值