文章目录
- 前言
- 一、ATH20手册连接与注意事项
- 二、STM32CubeMX配置硬件IIC
- 三、具体实现代码
- 四、使用过程中碰到的问题及其解决方案
最近在使用奥松的AHT20对环境温湿度进行采集。本例程采用ST的硬件IIC进行通讯,具体操作如下。
手册连接:AHT20数据手册 注意事项:

从此处可以明显体现出硬件IIC的优势。


1、AHT20.h代码如下:
其中,void AHT20_Start_Init(void);参考奥松官方代码编写,未进行验证。
2、AHT20.c代码如下:
3、main.c代码如下:
以上代码均已验证可用。



2、原因:因为此时从机正在发数据给主机,但是此时主机因为重启,所以clk被上拉电阻一直置为高。从机此时发送给主机的数据位刚好是低电平,若clk不为低,从机讲一直保持低电平数据(CLK为低:SDA改变数据;CLK为高:SDA数据保持)。详见博客:I2C通讯过程中SDA被一直拉低。
在i2c.h文件中声明函数:
在i2c.c文件中定义函数:
在两个文件中调用函数I2C1_Recover(),第一个是在i2c.c文件的MX_I2C1_Init()函数中调用:
第二个是在main.c的主函数while(1)中调用:
修改AHT20.C文件中函数AHT20_ReadHT(uint32_t *HT)的定义:


版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容,请联系我们,一经查实,本站将立刻删除。
如需转载请保留出处:https://51itzy.com/kjqy/203292.html