查看: 1006|回复: 2

[求助] 824 硬件i2c读取sht30数据

[复制链接]

该用户从未签到

105

主题

190

帖子

0

金牌会员

Rank: 6Rank: 6

积分
1367
最后登录
2024-12-31
发表于 2024-9-10 09:01:21 | 显示全部楼层 |阅读模式
本帖最后由 chuandaoxy 于 2024-9-10 09:02 编辑

下面是24c02的数据读取命令,测试是ok的
static void RdEeprom(uint8_t byteAddr, uint8_t *rdData, uint8_t numCnt)
{
        uint8_t txBuf = byteAddr;

        SetupXferRecAndExecute(I2C_ADDR_EEPROM, &txBuf, 1, rdData, numCnt);
}
我移植到sht30的函数修改如下,读取6个数据

static uint8_t    SHT30_Send_Cmd(SHT30_CMD cmd)
{
    uint8_t cmd_buffer[2];
       
    cmd_buffer[0] = cmd >> 8;
    cmd_buffer[1] = cmd;

        SetupXferRecAndExecute(SHT30_ADDR_WRITE,cmd_buffer,3,NULL,0);
}

//------------------------------------------------------------------------------------------------------------//

uint8_t SHT30_Read_Dat(uint8_t* rdData)
{
  uint8_t txBuf = SHT30_ADDR_READ;

        
       SHT30_Send_Cmd(READOUT_FOR_PERIODIC_MODE);
        SetupXferRecAndExecute(SHT30_ADDR_READ, &txBuf, 1, rdData, 6);        
}

但是一直读不到数据,感觉没有错的地方,写函数已经验证过没有问题,读数据的函数一直没有响应,始终是0
大家帮忙分析一下,可能是哪里的问题

最佳答案

你这写的不对,当然读不到啊。 [attach]548504[/attach]
回复

使用道具 举报

  • TA的每日心情
    奋斗
    5 小时前
  • 签到天数: 2380 天

    连续签到: 89 天

    [LV.Master]伴坛终老

    84

    主题

    1万

    帖子

    3

    版主

    Rank: 7Rank: 7Rank: 7

    积分
    22073
    最后登录
    2025-7-29
    发表于 2024-9-10 10:05:00 | 显示全部楼层
    你这写的不对,当然读不到啊。
    微信图片_20240910100545.png
    该会员没有填写今日想说内容.
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    105

    主题

    190

    帖子

    0

    金牌会员

    Rank: 6Rank: 6

    积分
    1367
    最后登录
    2024-12-31
     楼主| 发表于 2024-9-10 10:33:33 | 显示全部楼层
    本帖最后由 chuandaoxy 于 2024-9-10 12:26 编辑

    多谢大侠指点,已经都出来了,
    回复 支持 反对

    使用道具 举报

    您需要登录后才可以回帖 注册/登录

    本版积分规则

    关闭

    站长推荐上一条 /3 下一条

    Archiver|手机版|小黑屋|恩智浦技术社区

    GMT+8, 2025-7-29 14:39 , Processed in 0.092112 second(s), 25 queries , MemCache On.

    Powered by Discuz! X3.4

    Copyright © 2001-2024, Tencent Cloud.

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