STM32实例源码剖析(SHT30 基于 IIC的温湿度获取程序)

举报
CodeAllen 发表于 2021/10/29 23:41:32 2021/10/29
【摘要】 下边是我之前做的时候写的代码,需要的可以参考 /*获取温湿度*/bool eb_I2C_SHT30_Read(unsigned int tickMs){ uint8_t TempH,TempL,CRCT; uint8_t HumiH,HumiL,CRCH; if (!I2C1_Start()) //根...

下边是我之前做的时候写的代码,需要的可以参考



  
  1. /*获取温湿度*/
  2. bool eb_I2C_SHT30_Read(unsigned int tickMs)
  3. {
  4. uint8_t TempH,TempL,CRCT;
  5. uint8_t HumiH,HumiL,CRCH;
  6. if (!I2C1_Start()) //根据函数返回值判断是否设置成功
  7. {
  8. return false;
  9. }
  10. I2C1_SendByte(SHT30_IIC_ADDR1 << 1 | I2C1_Direction_Transmitter); //设置器件地址,设置为发送
  11. if (!I2C1_WaitAck()) //读SDA电平,拉低则接受端成功
  12. {
  13. I2C1_Stop();
  14. return false;
  15. }
  16. //--------------------------------------------------------/发送FETCH DATA COMMAND/------------------------------------------------//
  17. I2C1_SendByte(0xE0); //发送读取高8位命令
  18. if (!I2C1_WaitAck()) //等待从设备回应
  19. {
  20. I2C1_Stop();
  21. return false;
  22. }
  23. I2C1_SendByte(0x00); //发送读取低8位命令
  24. if (!I2C1_WaitAck())
  25. {
  26. I2C1_Stop();
  27. return false;
  28. }
  29. //--------------------------------------------------------/发送FETCH

文章来源: allen5g.blog.csdn.net,作者:CodeAllen的博客,版权归原作者所有,如需转载,请联系作者。

原文链接:allen5g.blog.csdn.net/article/details/91345124

【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。