电子产业一站式赋能平台

PCB联盟网

搜索
查看: 1381|回复: 0
收起左侧

初学 HarmonyOS 系统,给Hi3861L写温湿度传感器HUT21D的驱动

[复制链接]

2607

主题

2607

帖子

7472

积分

高级会员

Rank: 5Rank: 5

积分
7472
发表于 2020-10-18 19:56:52 | 显示全部楼层 |阅读模式
初学 HarmonyOS 系统,给Hi3861L写温湿度传感器HUT21D的驱动, 大佬们已经写出了AHT20, OLED1306等I2C总线的驱动。作为学习模板,准备将HUT21D、BH1750的驱动,已经模拟单总线DHT11,18b20等移值到运行HarmonyOS的Hi3861上。





通过实践,对鸿蒙硬件I2C的驱动有了一点了解。感觉库写的非常好,用户不需要管I2C的启动、停止、ACK、NACK等等,屏蔽了中断、寄存器等底层处理。。

总之,直接用3个库函数就好了。

例如:读取 BH1750

uint32_t retval = I2cWrite(BH1750FVI_I2C_IDX, BH1750FVI_WRITE_ADDR, &data);







附图:harmonyos 库函数 实现读取 HTU21D 的协议



每隔20ms读取一次.png (184.97 KB, 下载次数: 0)

下载附件  保存到相册  

9 小时前 上传



关键指令:



1、软复位0xFE(下条命令延时30ms).png (68.4 KB, 下载次数: 0)

下载附件  保存到相册  

9 小时前 上传





2、触发湿度转换命令0xF5 (转换时间15-20ms).png (102.75 KB, 下载次数: 0)

下载附件  保存到相册  

9 小时前 上传





3、读数据(NAK)未应答就每10ms读一次.png (94.69 KB, 下载次数: 0)

下载附件  保存到相册  

9 小时前 上传





4、读3字节数据(最后字节NAK).png (74.47 KB, 下载次数: 0)

下载附件  保存到相册  

9 小时前 上传
回复

使用道具 举报

发表回复

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则


联系客服 关注微信 下载APP 返回顶部 返回列表