stm32 cubemx i2c 之bug的解决办法(供大家参考) [问题点数:50分,无满意结帖,结帖人rzsheng]

Bbs6
本版专家分:7039
结帖率 97.67%
Bbs1
本版专家分:0
Bbs1
本版专家分:0
STM32CubeMX学习教程之十一:硬件I2C读取SHT20温湿度
完整源码下载: https://github.com/simonliu009/STM<em>32</em>CubeMX-I2C-SHT20 上一篇教程我们使用I2C进行了EEPROM的读写操作,实际上I2C上面挂的所有器件我们都可以操作。 本文的目标就是使用STM<em>32</em>CubeMX的硬件I2C读取麒麟座连接在I2C2上的SHT20芯片温湿度信息。 软件版本: STM<em>32</em>CubeMX V4.25.0    ...
STM32F103 CubeMX I2C
 最近在做一个项目,由于实时性要求高所以想把串口通讯、I2C、SIP都通过DMA来完成。 先用CubeMx配置后生成工程,然后做串口DMA收发测试程序一切顺利,接下来搞了一天I2C,总是在不成功,逻辑分析仪上SDA、SCL只看到有一个脉冲,断点调试发现死锁在 while(__HAL_I2C_GET_FLAG(h<em>i2c</em>, I2C_FLAG_BUSY) != RESET); 几乎放弃。后来...
14-HAL库之I2C通信
1.I2C协议介绍 I2C是一个支持多设备的总线,可连接多个I2C通讯设备,每个总线包括一条双向串行数据线(SDA)和一条串行时钟线(SCL)。数据线用来表示数据,时钟线用来数据收发同步。通讯过程如下: S:主机的I2C接口产生的传输开始信号,连接在I2C总线上的所有从机都会接收到。 SLAVE_ADDRESS:主机广播的从机地址信号,I2C总线上每个从机地址唯一。 R/W:读写方向,...
STM32’s I2C 硬件BUG引发的血案(qzm)
2010-4-8 1: 45 下面的函数中有一个BUG, 也就是SR2不能用WHILE来轮询,而应直接读出.如下面代码段, 因此,在这里说的这是STM<em>32</em>的BUG其实是我的代码的错误:     I2C2->DR = inerAddress[1];     while( (I2C2->SR1&Q_I2C_SR1_BIT_BTF)==0 );     I2C2->SR2;   // 正解 2
关于stm32 hal 库 iic 一直是 busy 问题
最近在用st hal iic 发现 MX_I2C1_Init(); 后 iic 就处于BUSY状态 代码跟踪后发现 具体到 HAL_I2C_MspInit 中 __HAL_RCC_I2C1_CLK_ENABLE(); 后 IIC模块就处到busy状态。 具体问题找到 ,修改如下,轻松解决问题!! 原来代码: void HAL_I2C_MspInit(I2C_HandleTypeDef* i...
基于STM32,hal库,使用CubeMX进行开发的硬件I2C代码。SSD1306屏幕和SHT20传感器
STM<em>32</em>的硬件I2C不好用,很多人在开发I2C的过程中,使用的是软件I2C进行调试。其实这么多年的改进,以及ST公司库函数的不断升级,现在可以比较方便的调用I2C,不过CubeMX的函数生成存在小问
stm32的HAL库i2c从机实现
<em>stm</em><em>32</em>的<em>i2c</em>默认就是slave模式,本文基于HAL库实现中断方式的接收和发送,首先是初始化gpio和<em>i2c</em>,代码如下: I2C_HandleTypeDef I2cHandle; void HAL_I2C_MspInit(I2C_HandleTypeDef* <em>i2c</em>Handle) { GPIO_InitTypeDef GPIO_InitStruct; __HAL_RCC...
STM32 HAL/LL寄存器读写I2C(硬件I2C)
HAL库底层中有超时返回函数,在这里精简掉,此函数验证与STM<em>32</em>L0,其他板子未验证,ulTimeout 参数无用,可直接写0 写寄存器 uint8_t BSP_IIC_WriteReg(uint8_t ucChannel, uint16_t DevAddress, uint16_t Reg, uint8_t *pData, uint16_t usLen, uint<em>32</em>_t ulTimeout...
STM32CUBEMX配置STM32F429的LWIP+RTOS+IIC实现在局域网内ping通学习记录
注 :未经允许请勿转载,请尊重劳动成果,大家都是知识分子!谢谢! 一开始是用原子的STM<em>32</em>F103的战舰开发版,不过在CUBE配置的时候LWIP的配置死活找不到,只有移植原子的例程这一条路,果断换个板子。 硬件:STM<em>32</em>F429IGTx; 软件:STM<em>32</em>CUBEMX,KEIL5 首先先配置LWIP,ETH,RTOS,IIC以及RCC,之所以配置IIC,是因为F429的开发版的芯...
(学习笔记3)STM32F429库函数之I2C读取EEPROM
I2C外设通信发送过程中的标志清零一开始真的很困扰人。。
STM32 cubemx HAL IIC 之BUG解决办法
在使用STM<em>32</em>F103vct6开发硬件IIC的时候,用<em>cubemx</em>(版本4.20.0)生成的代码有重大<em>bug</em>,导致IIC通讯无论发送和接收都一直返回busy(返回值是2)。 究其原因是 <em>stm</em><em>32</em>f
【STM32CUBEMX】 I2C Slave 实现
背景 这几天在使用 STM<em>32</em>F030C8T6 做 I2C Slave。在网上查了好多的资料,使用 STM<em>32</em> 硬件 I2C 的例程少之又少,对 STM<em>32</em> 硬件 I2C 的批判巨多,只能硬着头皮,自己一步一步摸索。 实际上在这次硬件 I2C 调试之前,其实我已经通过 IO 模拟的方式实现了 I2C,但速率仅能实现 100Kb/s。对于400Kb,IO 模拟方式简直是无能为力。 实际上这个功...
stm32f103硬件I2C通信24C256,基于CubeMx
利用<em>stm</em><em>32</em>F103自带的I2C与24C256模块通信成功,并解决硬件I2C的BUG。
stm32 hal 模拟i2c
管脚配置(我是用的是PA9和PA10): //<em>i2c</em>.h #include &quot;<em>stm</em><em>32</em>f0xx_hal.h&quot; #define GPIO_PORT_I2C GPIOA // GPIO端口 #define I2C_SCL_PIN SCL_Pin // 连接到SCL时钟线的GPIO #define I2C_SDA_PIN SDA_Pin // 连接到SD...
STM32cubeMX STM32F1系列 IIC从机中断接收
首先,用cube创建一个F1系列的从机工程。这里我选择了“STM<em>32</em>F103C8T6”型号的单片机最小系统板,封装为LQFP48。 然后使用IIC的话可以分以下几步走: 一、设置烧录模式为Serial wire。按照图中箭头配置烧录模式 二、使用外部晶振 三、开启IIC 开启IIC中断 此处按照红色箭头配置即可。红框框中的要注意配置 四、IIC基础参数设置 这...
解决STM32 I2C接口死锁在BUSY状态的方法讨论
解决STM<em>32</em> I2C接口死锁在BUSY状态的方法讨论   关于STM<em>32</em>的I2C接口死锁在BUSY状态无法恢复的现象,网上已有很多讨论,看早几年比较老的贴子,有人提到复位MCU也无法恢复、只有断电才行的状况,那可是相当严重的问题。类似复位也无法恢复的情况是存在的,技术支持矢口否认问题存在,并不是正确面对问题的态度。比如我用这款F439芯片的SDRAM控制器,在错误操作后进入HardFault
STM32 I2C HAL库读取HTU21D
以下代码为使用I2C库函数读取HTU21D温度数据的例程。ret=HAL_I2C_Mem_Read(&amp;amp;h<em>i2c</em>1,0x80,0xf3,I2C_MEMADD_SIZE_8BIT,rx_buf,2,2000); if(ret == HAL_OK) { rx_buf[1] &amp;amp;= 0xfc; temp = rx_buf[0]; temp *= 256;    //wendu &amp;lt;...
STM32cubeMX之I2C学习(1)
学习<em>参考</em>  http://blog.csdn.net/luckywang1103/article/details/17549739 1、I2C波形 SCL为高时,SDA由1->0,表示开始传送 SCL为高时,SDA由0->1,表示传送结束 SCL为高时,SDA=0,表示传输数据0 SCL为高时,SDA=1,表示传输数据1 2、关于ACK ACK信号:发送者在ACK时钟脉冲期间释放
STM32F429 CUBEMX+FREERTOS+STMWIN+FATFS
野火STM<em>32</em>F429开发板,通过CUBEMX搭建最新资源所有中间件测试OK。不包括网络USB。触摸屏支持软件I2C和硬件I2C切换,FATFS为最新版本。
STM32Cube MX 下IIC的配置与使用--GPIO模拟
本文介绍了在STM<em>32</em>下的IIC的基本使用方法,通过对板载具备IIC接口EEPROM的读写,完成对IIC驱动程序的测试。 硬件平台:STM<em>32</em>F107VCT6开发板 软件平台:STM<em>32</em>Cube MX + MDK5.22 1. 进行STM<em>32</em>Cube MX的配置 配置PB6和PB7为输出模式,同时配置了USART1进行串口调试使用。然后生成工程。 2. 打开工程,
STM32 HAL库学习(四):I2C 协议篇
STM<em>32</em> HAL库学习(四):I2C 协议篇 1. I2C 1.1 I2C 简介 I2C(Inter-integrated Circuit)总线支持设备之间的短距离通信,用于处理器和一些外围设备之间的接口,它只需要两根信号线来完成信息交换。 1.2 与UART、SPI 的区别 1.UART 串行端口是异步的(不传输时钟相关数据),两个设备在使用串口通信时,必须先约定一个数据传输速率,并且这两个...
使用STM32CubeMX对SHT20温度湿度传感器每秒进行一次数据读取(硬件IIC)
使用STM<em>32</em>L151C8T6低功耗芯片,在用硬件IIC方式(即采用HAL库配置方式)每隔1S读取一次SHT20温湿度传感器数值,并显示在串口调试助手上
stm32f1xx HAL库配置说明
<em>stm</em><em>32</em>f1xx HAL库配置说明
STM32F103,HAL实现软件I2C,与硬件I2C
1,硬件I2C HAL_I2C_Mem_Write(&amp;amp;h<em>i2c</em>1,0x88,0,I2C_MEMADD_SIZE_8BIT,0,0,0X10);//写 HAL_I2C_Master_Receive(&amp;amp;h<em>i2c</em>1,0x89,(uint8_t*)datatemp,4,0x10);//读 2软件I2C #ifndef __MYI2C_H__ #define __MYI2C...
STM32CubeMx之硬件IIC调试基本方法
如题,最近在调试STM<em>32</em>的硬件IIC,从中发现了很多问题,经过网上查找资料总结和实际测试,总结出如下步骤来检测硬件IIC。 测试环境如下: STM<em>32</em>F407开发板; STM<em>32</em>Cube固件库F4 1.6.0 IIC设备 AT24C02 IIC配置如下:void MX_I2C1_Init(void) { h<em>i2c</em>1.Instance = I2C1; h<em>i2c</em>1.Init.Clock
stm32cubemx I2C读取AT24C16
本文对如何使用<em>stm</em><em>32</em>cube生成I2C工程不作说明,仅对在对AT24Cxx系列的使用时作出易忽略的说明;1、at24cxx页面结构:从该图可以看出16K(bit)共有128个页,每页由16byte构成。16k = 128 * 16 * 8;特别注意:除at24c01和at24c02的页由8个byte构成,其它的都是由16byte构成。(这关系到对芯片的连续读写)2.at24cxx的设备地址:A...
STM32CubeMX GPIO模拟I2C读写M24C64
STM<em>32</em>CubeMX GPIO模拟I2C读写M24C64 一、先了解一下硬件的连接,I2C_SDA和I2C_SCL分别接STM<em>32</em>的PB9、PB6 二、粗阅一下M24C64的数据手册,得知器件地址和存储器地址,器件地址是8bit,而存储器地址是16bit 三、下面是M24C64的写时序 四、下面是M24C64的读时序 五、下面是程序编写流程 六、看看时序参数 七、好啦!需要的知识点差...
HAL基础实验源码08 stm32cubemx-F429IGT6软件虚拟IIC通信(I2C2-PH4-PH5)例程.zip
本代码采用STMcubeMX5.30和MDK5版本的开发环境,包含cubeMX工程文件和MDK5工程文件,arm嵌入式 C语言源代码 附开发环境的版本说明,STM<em>32</em>F429igt6/f767igt6
写STM32 的I2c库函数
I2c协议:I2c是一种双向串行通讯标准,常用于嵌入式系统中。利用I2c总线可以利用有限的I/O接口来扩展多功能的外围设备。主要由SCL(时钟线)和SDA(数据线组成)
STM32的硬件I2C实现及问题
虽然软件可实现I2C读取三轴传感器数据,但I2C作为一种重要的通信协议是一定要搞清楚问题所在的,SO继续研究之前的问题。(网上传言STM<em>32</em>硬件I2C有问题,但仍然有人实现出来) 再次启动程序,依旧是停在原来的位置 等待EV6,网上搜索相关问题好多人都停在了等待EV5上。分析EV5等待问题,主机发送起始信号,没能接受从设备发送的应答, 或者可能都没有发送。此问题应该是接线或IIC初始化代...
关于CUBEMX生成在I2C驱动函数在问题 HAL_I2C_Mem_Read
大佬们好, 我正在用英飞凌在一款带I2C的片子,具体型号是TLE493D-A2B6。 使用CUBEMX生成I2C驱动,使用了所有的驱动函数均无法生成如下图所示芯片手册上时序。 看了函数HAL_I2C_
【InterFace】STM32 I2C 死锁问题
最近在项目中设计了一个 IIC 模拟从机的程序。为了图方便,我随便拿了个 STM<em>32</em>F207 的开发板做 IIC Master,用 STM<em>32</em>CUBE 做了个程序,Master 的 数据发送和接收,都是直接调用 HAL 库的函数。 通过逻辑分析仪测试发现,每次主机出现错误后,IIC SDA 会被拉低,导致整个 IIC 总线被锁死了。后续的数据传输异常。现象如下图所示: 后来我查看了 H...
解决用CUBEMX生成的STM32程序中的I2C死锁问题
I2C的CUBE配置: 把I2C的时钟初始化放到引脚配置前面 在下面新添圈起来的几句,如下图,只有进入错误,就重新初始化,尚不完美,尚可用,另一个PB7引脚没拉高,是因为本人在程序中添加SD卡程序后,控制灯PB0的时候会受PB7影响,反应就是,程序仿真到这里,PB0会和PB7的控制状态一样,可能是<em>bug</em>吧,可以<em>参考</em>源代码 ...
STM32F103用STM32cubeMX 生成的I2C代码BUG
这两天搞读写AT24C16,I2C引脚没有信号输出,最后查出是初始化代码有问题。 下面是生成的初始化代码 void HAL_I2C_MspInit(I2C_HandleTypeDef* h<em>i2c</em>) { GPIO_InitTypeDef GPIO_InitStruct; if(h<em>i2c</em>-&amp;amp;amp;amp;gt;Instance==I2C2) { /* USER CODE BEGIN I2C2_MspInit 0 *...
STM32cubeMX STM32F1系列 IIC主机通讯
首先,用cube创建一个F1系列的主机工程。这里我选择了“STM<em>32</em>F103C8T6”型号的单片机最小系统板,封装为LQFP48。 然后使用IIC的话可以分以下几步走:(看过从机配置的同学可以直接跳至第四步) 一、设置烧录模式为Serial wire。按照图中箭头配置烧录模式 二、使用外部晶振 三、开启IIC 此处按照红色箭头配置即可。至于中断,如果不使用中断模式接发数据...
STM32cubeMX STM32F1系列 IIC从机通讯
首先,用cube创建一个F1系列的从机工程。这里我选择了“STM<em>32</em>F103C8T6”型号的单片机最小系统板,封装为LQFP48。 然后使用IIC的话可以分以下几步走: 一、设置烧录模式为Serial wire。按照图中箭头配置烧录模式 二、使用外部晶振 三、开启IIC 此处按照红色箭头配置即可。至于中断,如果不使用中断模式接发数据的话可以不开(本教程不使用中断)。 四...
一知半解学CubeMX——IIC:OLED屏显示
一知半解学习环境:     1、CubeMX 4.23.0     2、uVision 5.14.2     3、MCU 启明 STM<em>32</em>F407 开发板(高配版) V3.1     4、中景园电子0.96寸OLED 一知半解学习目标:     1、掌握CubeMX下RCC以及SYS的相关配置;     2、掌握CubeMX下IIC的相关配置;     3、掌握OLED的使
STM32 HAL I2C库读指定寄存器的数据
Support for "repeated start" in STM<em>32</em> HAL I2C library Q: I am working with a slave I2C device (Kionix KX022 acccelerometer)  which uses a "repeated start" mechanism to send data requested
STM32 I2C硬件实现无bug
都说<em>stm</em><em>32</em>硬件I2C不好用宁愿用软件模拟,其实只是初始化顺序不妥造成的,只要合理初始化,就可以利用的很好,硬件I2C终归好用一些
STM32 CubeMX TPL0102 I2C
接口 一个电位器分为左右两端(H/L)和中间抽头(W),Rtot大约为10kΩ。 中间抽头的位置由一个8位寄存器控制,0~255 对应 L和W之间的电阻0~10kΩ。 一个TPL0102内有A、B两个电位器,分别用两个8位寄存器控制。 A2\A1\A0 分别用于设置器件地址的Bit3\Bit2\Bit1 寄存器 寄存器地址 功能 ...
利用HAL库硬件IIC驱动OLED
利用CubeMX生成工程文档就不用细说了,网上很多类似的教程.主要谈一下自己将原来驱动OLED的库例程移植为HAL库的驱动,本质上没有多大的区别,只是几个函数运用的问题. 利用CubeMX 选用I2C1,配置默认即可 生成工程之后,单独创建oled.c oled.h文件,在其中添加驱动代码,具体代码如下: I2C_HandleTypeDef h<em>i2c</em>1; void Wr...
关于STM32的HAL库硬件I2C简单调试
STM<em>32</em>的硬件I2C在大家眼里一直都是做的非常不好的。因此,很多人都会说这个东西做的有问题,在STM<em>32</em>单片机上面,大家一般只会使用软件<em>i2c</em>进行调试不过hal库的提出,不仅方便了大家对于STM<em>32</em>单片机的使用,而且让大家可以在相同的时间里面开发更多的东西。 出于项目的需要以及自己的兴趣。我还是简单调试了一下STM<em>32</em>的硬件I2C功能。因为网上的帖子也不一定能够快速解决我的问题。于是我采取的是
STM32HAL库学习笔记--硬件I2C读写AT24C512
摘要:由于需要实现掉电存储功能,在无线传输模块上增加了一块EEPROM芯片,因为工程使用CubeMx配置并生成,为了方便不再使用IO口模拟I2C,而是使用f1自带的硬件I2C来实现。配置和调试过程和遇到一些问题,在此记录如下。 MCU 储存芯片 CubeMx版本 STM<em>32</em>F103C8T6 AT24C512 5.0.1 关键词:硬件I2C,HAL库,EEPROM存...
STM32 HAL库学习(二) 串口收发数据
   上一篇实现了LED的点亮和串口轮询发送数据,这章想着实现串口接收数据,不得不说,在开始使用STM<em>32</em>的外设才对HAL库的框架有更准确的理解。之前一直不懂HAL库的优越性在哪,这次对它的msp层有了一定认识。    简单来说,HAL库有一个特点就是对于许多外设的初始化以及功能操作,都提<em>供</em>有一个weak版本的函数,例如串口的HAL_UART_MspInit()函数和HAL_UART_MspDe...
stm32F407ZGT6+cubex生成HAL库工程+软件模拟IIC读取博世BME280温度、湿度、气压值
利用<em>stm</em><em>32</em>f4HAL库软件模拟IIC,对博世温湿度、气压传感器BME280进行正确的读取,说实在的,原子的HAL库写的实在有些应付了,虽然标准库与HAL库有诸多相似之处,标准库掺杂HAL库,个人觉
帮我看看STM32的硬件I2C问题,一直处于busy状态,但为什么手动将SR2的bit1置0没效果?
SR2一直为0x0003,即bit1一直为busy,所以我添加了I2Cx->SR2&=flag1;(flag1=0xfffd)但为什么执行了这句以后SR2的值不变化呢?还是0x0003;请帮忙看看什么
STM32之I2C_FLAG_BUSY置位解决办法
<em>stm</em><em>32</em>f429-disco上的触摸屏IC是STMPE811,使用I2C
STM32F103 硬件I2C主从机通信
肝了这么多天,查了很多资料,逛了不少论坛终于把<em>stm</em><em>32</em>f103的硬件I2C写出来了,就先做个记录。 开发板是自己画的兼容原子精英两块板子,型号是f103zet6。主从用的都是硬件I2C,用的是st官方例程,感谢,同时官方还给出了其他例如定时器,CAN通信的例程。地址先放在下面: https://www.st.com/content/st_com/en/products/microcontroll...
stm32f3的i2c使用小结
这几天拿到了<em>stm</em><em>32</em>f3discovery,拿到手的第一件事就是测试了硬件<em>i2c</em>,使用<em>stm</em><em>32</em>cube生成库,测试对象为AD5934与ADG715。经过两天的调试,完美调通。中间也碰到了些问题。 1、一开始用的I2C1,一仿真就会出现死机的情况。         由于I2C1与swd接口重合,所以调用HAL_I2C_Init()函数后就死机,改成I2C2后问题解决。 2、无法访问指定地址
stm32的I2C主从模式
1,<em>stm</em><em>32</em>的I2C总线既可以作为主模式也可以作为从模式 作为主模式和作为从模式在CUBE中的配置是一样的,只是<em>i2c</em>设备的地址不一样 Timing是时序,是在配置的时候生成的,不需要修改 当总线的频率设置为100KHZ的时候,rise time 和fall time 要设置为100ns ownAddress就是指的<em>i2c</em>总线的设备地址,该地址可以选择7b
STM32硬件IIC之DMA传输数据
这里给出一个实现用DMA传输IIC数据的实现过程 这里咱们说3个点 1.检查IIC总线上是否有指定地址的器件 2.IIC读取数据 3.IIC写数据 下面来一个一个详细说明1.检查IIC总线上是否有指定地址的器件1.判断是否总线忙,如果忙则等待 2.产生起始位 3.等待起始位产生完成 4.发送器件地址(这里选择读写都是可以的) 5.等待是否有ACK位回应,(这里有两种判断方法1.通过判断ACK
STM32硬件I2C无响应是怎么回事
在做STM3W硬件I2C的时候在检查EV6时总是出不去,死在循环函数里面,不知道为什么![图片](https://img-ask.csdn.net/upload/201608/01/1470059370_105124.jpg)
I2C读写AT24C02 基于STM32F103 cube
实现I2C正确读写AT24C02,基于STM<em>32</em> CUBE,读写使用HAL_I2C_Mem_Write,HAL_I2C_Mem_Read,写函数需单个字节写入。
STM32的HAL库的 I2C和UART使用函数,几个好用的
void I2C_Write(uint8_t* pBuffer, uint8_t DeviceAddr, uint8_t RegisterAddr,uint16_t NumByteToWrite){ //HAL_I2C_Master_Transmit(&amp;amp;h<em>i2c</em>1, (uint16_t)DeviceAddr, pBuffer, NumByteToWrite, 1000);//1000...
STM32F103--SHT30温湿度传感器
现成的STM<em>32</em>F103--SHT30温湿度传感器代码,能用........
STM32CubeMX生成基于HAL库的Can收发配置
HAL库 的应该用比较新潮,经常找不到资料。今天说说,在CAN开发中的应用。 一,发送。 static HAL_StatusTypeDef Can_MsgSend(uint<em>32</em>_t ID,uint8_t * pData,uint8_t len) { HAL_StatusTypeDef retSTD; canTxMsg.StdId=ID;//0x500|(GetLocalID()&0xFF
SHT30温湿度传感器工作原理
温湿度设备使用的SHT30传感器,这个温度的测量是:采用热电偶的方法,热电偶由两种 不同材料的金属丝组成,两种丝材的一端焊接在一起,形成工作端,置于被测温度处;另 一端称为自由端,与测量仪表相连,形成一个封闭回路。当工作端与自由端的温度不同 时,回路中就会出现热电动势,经过电路的转换将这个电压的变化送到单片机,转化成机 器能够识别的信号。   湿度的测量:是使用沉积在两个导电电极上的聚
sht30使用心得自述
sht30是盛世瑞恩生产的温湿度传感器,这个是一个瑞士企业。从sht10到sht31,盛世瑞恩的传感器还是不错了。      小米的温湿度传感器使用的也是sht30.      下面介绍一下使用方法。      sht30最高支持1000k的传输速率。因此通讯时间非常短。      sht30有两种读取数值的方法,我介绍一下使用iic的状态查询和数值查询方法。 1,状态查询。
STM32CubeMX时钟配置详解
软件: (1)STM<em>32</em>CubeMX (2)SW4STM<em>32</em> 实验平台:STM<em>32</em>F407VET6开发板 使用STM<em>32</em>CubeMX的一个好处就是图形化配置,在时钟配置方面,主要了解清楚高级外设总线(APB1、APB2)控制哪些外设。 (0)先配置好PA6、PA7(控制LED灯),好观察实验现象 (1)首先配置RCC(复位和时钟控制),选择外部高速始终,如下图 (2)为了
SHT30使用的学习过程1SHT30工作模式介绍
SHT30使用的学习过程1SHT30工作模式介绍 本人是新人小白,欢迎各位大佬指正,本文介绍的是SHT30两种工作模式【手动比心 by zwx lvmm】 看到网上对于sht30的博客很少,我也是刚刚学习使用这个传感器的小白,想把自己学习的经历详细写在这,希望大家一起学习和进步。 Datasheet中的相关内容【使用芯片我觉得还是先啃datasheet比较好】: 首先要弄清楚每个引脚是什么...
STM32CubeMX学习教程之十二:硬件I2C2读取SHT20温湿度并显示在LCD1602/LCD2004上(硬件I2C1连接)
完整源码下载: https://github.com/simonliu009/STM<em>32</em>F10x-I2C-SHT20-LCD1602 本文是上一篇博客(https://blog.csdn.net/toopoo/article/details/80053929)的进阶。上一篇我们通过硬件I2C读取了SHT20的温湿度信息并且通过printf重定向到USART1串口打印信息。那么这一次是通过硬件I...
零死角玩转stm32-高级篇之SDIO(4bit + DMA、支持SDHC、带协议分析)
野火STM<em>32</em>开发板的CPU ( STM<em>32</em>F103VET6 )具有一个SDIO接口。SD/SDIO/MMC主机接口可以支持MMC卡系统规范4.2版中的3个不同的数据总线模式:1位(默认)、4位和8位。在8位模式下,该接口可以使数据传输速率达到48MHz,该接口兼容SD存储卡规范2.0版。SDIO存储卡规范2.0版支持两种数据总线模式:1位(默认)和4位。 目前的芯片版本只能一次支持一个SD/SDIO/MMC 4.2版的卡,但可以同时支持多个MMC 4.1版或之前版本的卡。除了SD/SDIO/MMC,这个接
STM32F10x_硬件I2C读写EEPROM(标准外设库版本)
推荐 分享一个大神的人工智能教程。零基础!通俗易懂!风趣幽默!还带黄段子!希望你也加入到人工智能的队伍中来!http://www.captainbed.net/strongerhuang 我的网站:https://www.strongerhuang.com 我的知乎:https://www.zhihu.com/people/strongerHuang.com Ⅰ、写在前面...
STM32F10x_硬件I2C主从通信(轮询发送,中断接收)
推荐 分享一个大神的人工智能教程。零基础!通俗易懂!风趣幽默!还带黄段子!希望你也加入到人工智能的队伍中来!http://www.captainbed.net/strongerhuang Ⅰ、写在前面 关注我分享文章的朋友应该知道我在前面讲述过(软件、硬件)I2C主机控制从机EEPROM的例子。在I2C通信主机控制程序是比较常见的一种,可以说在实际项目中,很多应用都会使用到I2C通信。...
STM32CubeMX使用方法及功能介绍
推荐 分享一个大神的人工智能教程。零基础!通俗易懂!风趣幽默!还带黄段子!希望你也加入到人工智能的队伍中来!http://www.captainbed.net/strongerhuang 我的网站:https://www.strongerhuang.com 我的知乎:https://www.zhihu.com/people/strongerHuang.com Ⅰ、写在前面...
调试I2C遇到的一些问题
void HAL_I2C_MspInit(I2C_HandleTypeDef* h<em>i2c</em>) {   GPIO_InitTypeDef GPIO_InitStruct;   if(h<em>i2c</em>->Instance==I2C2)   {   /* USER CODE BEGIN I2C2_MspInit 0 */   /* USER CODE END I2C2_MspInit 0 */  
I2C总线协议详解
1.1 I2C总线知识 1.1.1  I2C总线物理拓扑结构       I2C 总线在物理连接上非常简单,分别由SDA(串行数据线)和SCL(串行时钟线)及上拉电阻组成。通信原理是通过对SCL和SDA线高低电平时序的控制,来 产生I2C总线协议所需要的信号进行数据的传递。在总线空闲状态时,这两根线一般被上面所接的上拉电阻拉高,保持着高电平。 1.1.2  I2C总线特征    
搞了一天的stm32f207芯片库函数的I2C问题终于被解决了
1.若程序停留在while(I2C_GetFlagStatus(I2C1, I2C_FLAG_BUSY));      则可能的情况是:I2C的初始化没有配置好,可能缺少引脚复用功能的配置         GPIO_PinAFConfig(GPIOB,GPIO_PinSource10,GPIO_AF_I2C2);   //这两个的配置必须有,没有则无法输出 GPI
stm32 hal i2c 库读写sd3088时钟
前一版本的修正。 sd3008在每次通信开始0.5s做一次总线复位,不必考虑<em>stm</em><em>32</em>的<em>i2c</em> Bug问题。 而且HAL库,是不是也应考虑到软件上补充这个Bug? 使用HAL_I2C_Mem_Read/Write,使得代码非常好看。模拟I2C方式,一字长蛇阵模样。 使用Freertos,读取时间、保存数据到用户SRAM,需要考虑Mutex对RTC时钟资源进行保护。 * SD3088时
STM32F103 I2C 宕机的问题
项目中遇到,用I2C进行读写IC数据,有时候I2C线没接好,特别是GND没共的时候,I2C会卡死在: 类似:I2C_WaitOnTXEFlagUntilTimeout 这种函数中,原因: if((Timeout == 0) || ((HAL_GetTick()-tickstart) > Timeout)) HAL_GetTick的值永远不递增了,因为SysTick_Handler中断不
STM32的I2C难点(值得慢慢研究)
I2C 总线在所有嵌入式系统中用得极广, 是一个工业级别的总线, 但由于STM<em>32</em> 是一个<em>32</em>位的MCU, 注定了他的I2C硬件接口将会功能强大, 但同时也会较难于控制,不象8位机,如AVR8位机的TWI(实际完全符合 I2C标准) 那么易用. 以下是我的STM<em>32</em> I2C硬件接口编程的一些心得体会.     如果你选择了STM<em>32</em>, 说明了你的项目的需求是比较复杂的,使用EMBEDDED OS
STM32初入门
主要学习的是STM<em>32</em>F429IGT6 一、STM<em>32</em>的功能 STM<em>32</em>属于一个微控制器,自带了各种常用通信接口,功能非常强大 1、串口—USART,用于跟跟串口接口的设备通信,比如:USB转串口模块、ESP8266 WIFI、GPS模块,GSM 模块,串口屏、指纹识别模块 2、内部集成电路—I2C,用于跟I2C接口的设备通信,比如:EEPROM、电容屏、陀螺仪MPU6050、0.96寸O...
I2C总线——EEPROM读写——51单片机模拟通讯
15号开始看串口和I2C通信,看了一遍视频跟着写了一次代码感觉一头雾水。尤其是主从应答的顺序,始终没搞懂。 I2C基础归纳 两根信号线,一根数据一根时序,主从模式,一应一答。龙顺宇讲<em>stm</em>8时举的例子:衙门断案,非常形象。今天在书店偶然看到,仔细翻阅了一下,收获很大。 我觉得这个难点主要在于应答位的掌握,究竟是主机应答还是从机应答,因为有的时候即便应答位设置错误,也能正常写入。这就导致了没有...
STM32F103RC硬件I2C从入坑到出坑
快过年了,在家闲来无事,学习研究一下I2C。 第一天 手上有啥资源可利用的? 1.一块MPU6050 2.一块<em>stm</em><em>32</em>f103rc最小系统版,上面移植了ucos3,跑了几个任务,包括一个LCD任务(优先级最低) 3.st的固件库 4.ALIENTEK的MPU6050例程 5.<em>stm</em><em>32</em>各种数据手册文档,ucos各种资料 好,开工。 先阅读<em>stm</em><em>32</em>数据手册了解研究I2C模块原理架构,懵懵懂懂,若...
STM32硬件i2c的EV卡死问题的终极解决(已通过老化测试40h)
鉴于各位对于<em>stm</em><em>32</em>的硬件<em>i2c</em>均存在质疑且在此处下载的所有硬件<em>i2c</em>程序均基于一个模板 大家对于硬件<em>i2c</em>的说法均在初始化上而对于发送接收程序并没有多少改动 所以我个人对这一段进行了优化,加上了超时自动跳出和标志位的动作,完美解决了硬件<em>i2c</em>的卡死问题 这里就是一个初始化的程序,应注意,clockspeed不应该高于100k 这是一个初始化的顺序,应注意,<em>i2c</em>的初始化应在RCC和GPIO...
浅谈 STM32 硬件I2C的使用 (中断方式 无DMA 无最高优先级)
作者:小吖的杂物屋 转自:http://racede.me/talk_about_<em>stm</em><em>32</em>_<em>i2c</em>_peripheral.html 引子 STM<em>32</em>的硬件I2C很多人都对它望而却步。因为很多电工都说,STM<em>32</em> 硬件 I2C有BUG、不稳定、死机等等……最后都使用GPIO模拟I2C。 的确,模拟I2C好用。但是在我看来在一个72M的Cortex-M3的MCU上这样做非常
STM32 HAL库 硬件I2C对MPU6050的使用
通过STM<em>32</em> Cubermx 实现 硬件I2C对MPU6050的操作,包括DMP的移植,程序代码注释详细,有部分程序代码摘录于正点原子的函数, 基于STM<em>32</em>F407ZG 芯片开发
求助 STM32F103硬件I2C发送不出起始信号
STM<em>32</em>F103硬件I2C使用遇到问题 我使用STM<em>32</em>的I2C1连接I2C2,I2C1作为主机发送数据给作为从机的I2C2,能够正常接收到数据,但是使用镊子短接SCL和SDA一段时间之后在断开,I
【STM32CubeMX】9,STM32之I2C,EEPROM
方向很重要,一定要善于借鉴别人成功的实例 0,刚刚又测试了下,没有那么复杂,什么都不用更改就可以用了,好气啊 if(HAL_GPIO_ReadPin(GPIOA,GPIO_PIN_0)==GPIO_PIN_SET)          { HAL_Delay(500); testarr[0]+=3; if(HAL_I2C_Mem_Write(&amp;amp;h<em>i2c</em>1,0xa0,60...
STM32CubeMx-ADC
本章通过两个例程介绍STM<em>32</em>的模数转换器(ADC),第一个通过ADC采集内部温度传感器通道电压,然后得出MCU内部温度。第二个通过DMA的方式采集两个ADC通道电压。 1.ADC 本章程序在串口printf工程的基础上修改,复制串口printf的工程,修改文件夹名。击xxx.ioc打开STM<em>32</em>cubeMX的工程文件重新配置。ADC1外设选择温度传感器通道。 ADC1配置如下,选择默认...
STM32 HAL库学习(一) STM32CubeMX和TRUEStudio的使用
最近开始学习STM<em>32</em>的HAL库,之前有用过std库函数做STM<em>32</em>开发的基础,因此学习HAL库会更容易上手一些,但对于新的编程、下载工具以及HAL库仍有许多不清晰的地方。经过初步的实验实现点亮LED灯和串口的发送数据之后,对所用到的几个工具以及HAL库进行一个总结。 HAL —— 硬件抽象层(Hardware Abstraction Layer),是STM<em>32</em>最新推出的抽象层嵌入式软件,支持中...
STM32CubeMX学习笔记——STM32H743_硬件I2C
STM<em>32</em>CubeMX学习笔记——STM<em>32</em>H743_硬件I2CGithubSTM<em>32</em>CubeMX配置Pinout配置GPIOClock Configuration配置代码部分main.c 使用I2C2 读写24C02 ROM 采用STM<em>32</em>CubeMX 5.0.0 版本 5.0.0版本与4.27.0版本UI界面变化很大 新版本向下兼容其他版本 Github https://github.com/...
STM32硬件I2C问题
1.CUBEMX生成代码后I2C总线初始化一直出现I2C_FLAG_BUSE 1.1 环境: 1.2 硬件I2C配置为默认,管脚如下 1.3 时钟等其他 配置完成后生成工程 1.4 添加代码 在<em>i2c</em>.c文件中的的void HAL_I2C_MspInit(I2C_HandleTypeDef* <em>i2c</em>Handle)函数中添加如下代码 __I2C2_FORCE_RE...
Java学习的正确打开方式
在博主认为,对于入门级学习java的最佳学习方法莫过于视频+博客+书籍+总结,前三者博主将淋漓尽致地挥毫于这篇博客文章中,至于总结在于个人,实际上越到后面你会发现学习的最好方式就是阅读<em>参考</em>官方文档其次就是国内的书籍,博客次之,这又是一个层次了,这里暂时不提后面再谈。博主将为各位入门java保驾护航,各位只管冲鸭!!!上天是公平的,只要不辜负时间,时间自然不会辜负你。 何谓学习?博主所理解的学习,它是一个过程,是一个不断累积、不断沉淀、不断总结、善于传达自己的个人见解以及乐于分享的过程。
程序员必须掌握的核心算法有哪些?
由于我之前一直强调数据结构以及算法学习的重要性,所以就有一些读者经常问我,数据结构与算法应该要学习到哪个程度呢?,说实话,这个问题我不知道要怎么回答你,主要取决于你想学习到哪些程度,不过针对这个问题,我稍微总结一下我学过的算法知识点,以及我觉得值得学习的算法。这些算法与数据结构的学习大多数是零散的,并没有一本把他们全部覆盖的书籍。下面是我觉得值得学习的一些算法以及数据结构,当然,我也会整理一些看过...
大学四年自学走来,这些私藏的实用工具/学习网站我贡献出来了
大学四年,看课本是不可能一直看课本的了,对于学习,特别是自学,善于搜索网上的一些资源来辅助,还是非常有必要的,下面我就把这几年私藏的各种资源,网站贡献出来给你们。主要有:电子书搜索、实用工具、在线视频学习网站、非视频学习网站、软件下载、面试/求职必备网站。 注意:文中提到的所有资源,文末我都给你整理好了,你们只管拿去,如果觉得不错,转发、分享就是最大的支持了。 一、电子书搜索 对于大部分程序员...
linux系列之常用运维命令整理笔录
本博客记录工作中需要的linux运维命令,大学时候开始接触linux,会一些基本操作,可是都没有整理起来,加上是做开发,不做运维,有些命令忘记了,所以现在整理成博客,当然vi,文件操作等就不介绍了,慢慢积累一些其它拓展的命令,博客不定时更新 free -m 其中:m表示兆,也可以用g,注意都要小写 Men:表示物理内存统计 total:表示物理内存总数(total=used+free) use...
比特币原理详解
一、什么是比特币 比特币是一种电子货币,是一种基于密码学的货币,在2008年11月1日由中本聪发表比特币白皮书,文中提出了一种去中心化的电子记账系统,我们平时的电子现金是银行来记账,因为银行的背后是国家信用。去中心化电子记账系统是参与者共同记账。比特币可以防止主权危机、信用风险。其好处不多做赘述,这一层面介绍的文章很多,本文主要从更深层的技术原理角度进行介绍。 二、问题引入 假设现有4个人...
程序员接私活怎样防止做完了不给钱?
首先跟大家说明一点,我们做 IT 类的外包开发,是非标品开发,所以很有可能在开发过程中会有这样那样的需求修改,而这种需求修改很容易造成扯皮,进而影响到费用支付,甚至出现做完了项目收不到钱的情况。 那么,怎么保证自己的薪酬安全呢? 我们在开工前,一定要做好一些证据方面的准备(也就是“讨薪”的理论依据),这其中最重要的就是需求文档和验收标准。一定要让需求方提<em>供</em>这两个文档资料作为开发的基础。之后开发...
网页实现一个简单的音乐播放器(大佬别看。(⊙﹏⊙))
今天闲着无事,就想写点东西。然后听了下歌,就打算写个播放器。 于是乎用h5 audio的加上js简单的播放器完工了。 演示地点演示 html代码如下` music 这个年纪 七月的风 音乐 ` 然后就是css`*{ margin: 0; padding: 0; text-decoration: none; list-...
Python十大装B语法
Python 是一种代表简单思想的语言,其语法相对简单,很容易上手。不过,如果就此小视 Python 语法的精妙和深邃,那就大错特错了。本文精心筛选了最能展现 Python 语法之精妙的十个知识点,并附上详细的实例代码。如能在实战中融会贯通、灵活使用,必将使代码更为精炼、高效,同时也会极大提升代码B格,使之看上去更老练,读起来更优雅。
数据库优化 - SQL优化
以实际SQL入手,带你一步一步走上SQL优化之路!
通俗易懂地给女朋友讲:线程池的内部原理
餐盘在灯光的照耀下格外晶莹洁白,女朋友拿起红酒杯轻轻地抿了一小口,对我说:“经常听你说线程池,到底线程池到底是个什么原理?”
经典算法(5)杨辉三角
杨辉三角 是经典算法,这篇博客对它的算法思想进行了讲解,并有完整的代码实现。
使用 Docker 部署 Spring Boot 项目
Docker 技术发展为微服务落地提<em>供</em>了更加便利的环境,使用 Docker 部署 Spring Boot 其实非常简单,这篇文章我们就来简单学习下。首先构建一个简单的 S...
英特尔不为人知的 B 面
从 PC 时代至今,众人只知在 CPU、GPU、XPU、制程、工艺等战场中,英特尔在与同行硬件芯片制造商们的竞争中杀出重围,且在不断的成长进化中,成为全球知名的半导体公司。殊不知,在「刚硬」的背后,英特尔「柔性」的软件早已经做到了全方位的支持与支撑,并持续发挥独特的生态价值,推动产业合作共赢。 而对于这一不知人知的 B 面,很多人将其称之为英特尔隐形的翅膀,虽低调,但是影响力却不容小觑。 那么,在...
面试官:你连RESTful都不知道我怎么敢要你?
干货,2019 RESTful最贱实践
数字视频格式下载
MPEG格式:它的英文全称为Moving Picture Expert Group,即运动图像专家组格式,家里常看的VCD、SVCD、DVD就是这种格式。MPEG文件格式是运动图像压缩算法的国际标准,它采用了有损压缩方法减少运动图像中的冗余信息,说的更加明白一点就是MPEG的压缩方法依据是相邻两幅画面绝大多数是相同的,把后续图像中和前面图像有冗余的部分去除,从而达到压缩的目的(其最大压缩比可达到200:1)。目前MPEG格式有三个压缩标准,分别是MPEG-1、MPEG-2、和MPEG-4,另外,MPEG-7与MPEG-21仍处在研发阶段。 相关下载链接:[url=//download.csdn.net/download/zsefvgy13/3855273?utm_source=bbsseo]//download.csdn.net/download/zsefvgy13/3855273?utm_source=bbsseo[/url]
网页制作与设计下载
网页制作与设计 图片幻灯片效果 相关下载链接:[url=//download.csdn.net/download/tian2849123886/8312729?utm_source=bbsseo]//download.csdn.net/download/tian2849123886/8312729?utm_source=bbsseo[/url]
用Excel 获取文件夹中的文件名的方法下载
现代化办公离不开Excel如何用Excel 获取文件夹中的文件名呢? 相关下载链接:[url=//download.csdn.net/download/cq072/1698719?utm_source=bbsseo]//download.csdn.net/download/cq072/1698719?utm_source=bbsseo[/url]
相关热词 c# 图片上传 c# gdi 占用内存 c#中遍历字典 c#控制台模拟dos c# 斜率 最小二乘法 c#进程延迟 c# mysql完整项目 c# grid 总行数 c# web浏览器插件 c# xml 生成xsd
我们是很有底线的