搜索
bottom↓
回复: 3

SHT30 的温湿度传感器,I2C读取数据时经常有ACK的错误

[复制链接]

出0入0汤圆

发表于 2017-6-14 11:15:36 | 显示全部楼层 |阅读模式
SHT30 的温湿度传感器+STM32F103的软件I2C方式,
MCU刚启动时,能读取到温湿度值,之后再读总是提示ACK的错误
这个部题,朋友们有遇到过没有。谢谢!

程序主要参考的是,sensrison的官方代码

etError I2c_WriteByte(uint8_t txByte)
{
//==============================================================================
  etError error = NO_ERROR;
  uint8_t     mask;
  for(mask = 0x80; mask > 0; mask >>= 1)                        // shifloat bit for masking (8 times)
  {
                        if((mask & txByte) == 0)
                                SDA_LOW();                                                                         // masking txByte, write bit to SDA-Line
                        else                     
                                SDA_OPEN();                                                                             //SetBit
                       
                        DelayMs(1);               // data set-up time (t_SU;DAT)     1
                        SCL_OPEN();               // generate clock pulse on SCL   
                        DelayMs(5);               // SCL high time (t_HIGH)          5
                        SCL_LOW();
                        DelayMs(1);               // data hold time(t_HD;DAT)        1
  }
       
  SDA_OPEN();                   // release SDA-line
  SCL_OPEN();                          // clk #9 for ack
  DelayMs(1);                         // data set-up time (t_SU;DAT)     1
  if(SDA_READ)
        {
                error = ACK_ERROR;                       // check ack from i2c slave                                        经常在这里出错                                       
                GPIO_SetBits(GPIOB,GPIO_Pin_12);                        //Rx2Ind Reset
        }
  SCL_LOW();
       

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x

阿莫论坛20周年了!感谢大家的支持与爱护!!

一只鸟敢站在脆弱的枝条上歇脚,它依仗的不是枝条不会断,而是自己有翅膀,会飞。

出0入0汤圆

发表于 2017-6-14 12:11:53 | 显示全部楼层
直接用HAL库来做,我也用盛思锐的传感器,I2C没毛病

出0入0汤圆

 楼主| 发表于 2017-6-14 12:41:51 | 显示全部楼层
yukaigogogo 发表于 2017-6-14 12:11
直接用HAL库来做,我也用盛思锐的传感器,I2C没毛病

HAL库,能说详细点吗?

出130入129汤圆

发表于 2017-6-14 12:47:21 来自手机 | 显示全部楼层
逻辑分析仪看下时序应该就真相大白了
回帖提示: 反政府言论将被立即封锁ID 在按“提交”前,请自问一下:我这样表达会给举报吗,会给自己惹麻烦吗? 另外:尽量不要使用Mark、顶等没有意义的回复。不得大量使用大字体和彩色字。【本论坛不允许直接上传手机拍摄图片,浪费大家下载带宽和论坛服务器空间,请压缩后(图片小于1兆)才上传。压缩方法可以在微信里面发给自己(不要勾选“原图),然后下载,就能得到压缩后的图片】。另外,手机版只能上传图片,要上传附件需要切换到电脑版(不需要使用电脑,手机上切换到电脑版就行,页面底部)。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

手机版|Archiver|amobbs.com 阿莫电子技术论坛 ( 粤ICP备2022115958号, 版权所有:东莞阿莫电子贸易商行 创办于2004年 (公安交互式论坛备案:44190002001997 ) )

GMT+8, 2024-3-29 23:25

© Since 2004 www.amobbs.com, 原www.ourdev.cn, 原www.ouravr.com

快速回复 返回顶部 返回列表