Stm32U545RE-Q,有I2C1-3个外设,当然也可以使用IO模拟生成I2C的协议进行数据传输。以前stm32的硬件i2c使用起来有些bug,但是最近使用了stm32C0,stm32F746,stm32L073好象都没有问题了,所以本文使用硬件的i2c进行温湿度采集以及驱动oled屏,来展示一个温湿度计有综合项目。 【开发环境】stm32cubeIDE 【实验硬件】stm32U545RE-Q开发板、SHT30温湿度计、OLED屏 【实现的步骤】 1、新建stm32 project工程。参见【STM32U545评测】从零创建呼吸灯 (stmicroelectronics.cn) 2、在配置界面开发i2c,并按下图配置i2c1: 3、出于没有外接上拉电阻,所以把GPIO设置为上拉,快速模式: 4、配置好后,保存设置按alt+k重新生成代码。 5、移植ssd1306的代码。把ssd1306的文件夹复制到工程中,我们主要是修改向ssh1306的向发送一个字节的命令、发送命令、发送数据三个函数: 代码包我装到附件,大家可以自取,或者自己重写库。 6、移植sht30的库。我们把sht30的库复制到工程中。并重写发送命令、读取命令两个函数即可: 7、同时需要在工程中把两个文件夹的路径加入工程。 8、在主程序中加入初始化oled、sht30的初始化,并逐一读取温度并显示。 编译工程并下载到开发板。 9、接线图如下: OLED 开发板 SHT30 SCL--------------------SCL/D15--------------------SCL SDA-------------------SDA/D14-------------------SDA GND------------------GND------------------------GND VCC-------------------VCC/3.3V-------------------VCC 【实验效果】 【试用心得】 1、使用stm32cubeIDE的图形化配置来实现对外设的配置,非常简单方便。 2、使用stm32的hal库,外设在不同的stm32系列中移植非常方便。 3、硬件i2c库,使用起来相比标准库,没有以前的bug。 【附件】工程文件 |
【NUCLEO-WB09KE评测】BLE创建服务和写特征控制LED
基于STM32CubeIDE+MPU6050做的动量轮平衡自行车(一)
【NUCLEO-WB09KE评测】使用I2C点亮一个OLED
【NUCLEO-WB09KE评测】USART的printf和GPIO的使用
STM32CubeIDE 1.3.0 汉化方法
【STM32H7S78-DK评测】XIP模板问题处理与电机控制
【STM32H7S78-DK评测】开发板初识与工程模板创建
【STM32H7S78-DK评测】板载资源初识及工程模块创建
STM32U5 系列使用 LPBAM 进行功耗优化
STM32 Explore | STM32Cube生态系统线下培训
附件不能下载呀,什么原因呀?
markdown传附件估计不好搞,你把附件私发我吧,我给你生成链接吧
好的
学习参考一下。附件可以在回帖中切换用普通模式上传。不要MD编辑器模式
[md]切换一下,内容不会丢吧。
在回帖里传,不要去编辑主题帖。