
1.资源扩展板介绍 1.1硬件介绍 ![]() 1.2资源扩展板可开发项目 ![]() 2.扩展板空气温湿度传感器控制 2.1实验原理 打开扩展板原理图对照扩展板可以看到扩展板有1个温湿度传感器SI7006,如下图: ![]() 由上图可见可通过I2C总线与SI7006通信。 ![]() 扩展板与底板接口对照图 查看原理图可知数据线I2C1_SDA、I2C1_SCL和I2C_INT1管脚对应关系如下: ![]() 查看SI7006芯片手册确认设备七位从机地址为:0x40 ![]() 2.2实验目的 了解温湿度传感器工作原理 学习I2C协议的使用方法,掌握如何利用STM32MP157A芯片控制SI7006温湿度传感器 2.3实验环境 FS-MP1A开发平台 ST-Link仿真器 STM32CubeIDE开发软件 PC机 XP、Window7/10 (32/64bit) 2.4实验步骤 打开STM32CubeIDE,配置CubeMX。 首先根据前几章内容配置好系统时钟与串口打印,然后对PF14、PF15引脚分别配置成I2C1_SCL与I2C1_SDA,切换到I2C1标签,勾选给“M4”,选中“I2C”,如下图所示。 ![]() ![]() 上述为新建工程配置过程,可参考12.3.2章节进行导入已有工程,工程存放路径【华清远见-FS-MP1A开发资料\02-程序源码\ARM体系结构与接口技术\Cortex-M4\8_EX_I2C_TEM】 代码实现 由于使用的是硬件I2C,不需要自己写程序实现I2C时序,我们需要做的仅仅是调用HAL提供的硬件I2C操作函数。其中,调用“HAL_I2C_Master_Transmit”函数发送数据,调用“HAL_I2C_Master_Receive”函数接收数据,创建driver_si_7006.c文件实现传感器的控制。其代码如下
其中,使用“HAL_I2C_Master_Receive”接收16位数据时,由于先接收的高字节数据,然后是低字节数据,所以,在使用数据时需要进行高低字节调换。 在主函数里,先分别初始化I2C与SI7006,再调用“SI7006_ReadDataTest”函数即可以采集温湿度传感器数值。 ———————————————— 版权声明:华清远见IT开放实验室 |
更新STM32MP135-Openwrt镜像
基于STM32MP1和STM32MP2在嵌入式Linux平台上部署有效的安全保护机制
利用STM32MP1和STM32MP2为嵌入式Linux提供有效的安全措施:供当今决策者参考的3条宝贵经验
STM32MP1 WiFi连接
【STM32MP157】从ST官方例程中分析RPMsg-TTY/SDB核间通信的使用方法
【STM32MPU 安全启动】 TF-A BL2 TrustedBoot原理学习
《STM32MPU安全启动》学**结
《STM32MPU安全启动》学习笔记之optee 如何加载CORTEX-M核和使能校验
《STM32MPU安全启动》学习笔记之TF-A BL2校验optee和uboot的流程以及如何使能
《STM32MPU 安全启动》课程学习心得+开启一扇通往嵌入式系统安全领域深处的大门。