|
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。 【附件】工程文件 |
经验分享 | 基于STM32CubeIDE的指定存储话题
实战经验 | 使用STM32CubeIDE开发上位机工具
【教程】STM32CubeIDE for Visual Studio Code 安装
解锁STM32开发新体验,STM32CubeIDE for VS Code全解析(附实操视频)
立即在GitHub上抢先体验面向STM32U5的最新STM32Cube HAL更新
速看!STM32CubeIDE for Visual Studio Code预发布版全面整合至正式版,完成重大升级
速看!STM32CubeIDE for Visual Studio Code预发布版全面整合至正式版,完成重大升级
【评论有奖】STM32CubeIDE 2.0版本要来了
STM32开发五大误区,新手别傻傻信了
STM32CubeIDE 实用技巧之条件断点的妙用
微信公众号
手机版
附件不能下载呀,什么原因呀?
markdown传附件估计不好搞,你把附件私发我吧,我给你生成链接吧
好的
学习参考一下。附件可以在回帖中切换用普通模式上传。不要MD编辑器模式
[md]切换一下,内容不会丢吧。
在回帖里传,不要去编辑主题帖。