|
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。 【附件】工程文件 |
在主机模式下使用STM32Cube HAL I2C驱动
【评论有奖】STM32CubeIDE 2.0版本要来了
F429I-DISC1体验报告(2) 按钮和弹窗GUI的简单交互设计丨国庆开发板测评活动
架构更新!STM32CubeIDE 2.0.0重磅发布,STM32CubeMX成独立工具(文末有奖)
在旧版本STM32CubeIDE内快速更新至STM32CubeIDE2.0
《STM32U3线上课程》学习笔记+STM32U3 超低功耗 MCU,超低功耗及数据安全
经验分享 | 基于STM32CubeIDE的指定存储话题
实战经验 | 使用STM32CubeIDE开发上位机工具
【教程】STM32CubeIDE for Visual Studio Code 安装
解锁STM32开发新体验,STM32CubeIDE for VS Code全解析(附实操视频)
微信公众号
手机版
附件不能下载呀,什么原因呀?
markdown传附件估计不好搞,你把附件私发我吧,我给你生成链接吧
好的
学习参考一下。附件可以在回帖中切换用普通模式上传。不要MD编辑器模式
[md]切换一下,内容不会丢吧。
在回帖里传,不要去编辑主题帖。