Quantcast
Channel: 蓝牙论坛 - 最近的话题
Viewing all articles
Browse latest Browse all 7485

cc26xx i2c 写没问题,返回Ture,但读取的时候,程序跑飞,why???

$
0
0

i2c配置是按官方文档配置的,将sensorTag里面的bsp_i2c.c只能拿来用了,写是没有问题,就是读取的时候跑飞,但有试过读取成功(大部分是跑飞了),程序没变过,why why why??i2c设备是hmc5983。

hmc5983初始化如下:

int hmc5983Init()
{
    uint8_t buf[] = {HMC5983_R_CONFIG_A, 0x70, HMC5983_R_CONFIG_B, 0xA0,};
    uint8_t *p_buf = buf;
    bspI2cSelect(BSP_I2C_INTERFACE_0, HMC5983_ADDR);
    for (uint8_t i = 0 ; i < 2; i++)
    {
        bspI2cWrite(p_buf, 2);
        p_buf = p_buf + 2;
    }
}

读取测试代码如下:

while (1)
    {
        bool flag = FALSE;
        uint8_t write_buf[] = {HMC5983_R_MODE, 0x01};
        uint8_t *re_buf;
        uint8_t addr = 0x00;
        flag = bspI2cWrite(write_buf, 2);
        if (!flag)
            flag = FALSE;
        delay_ms(6);
        flag = bspI2cWriteRead(&addr, 1, re_buf, 15);
        if (!flag)
            flag = FALSE;

        delay_ms(67);
    }

每次就是在 flag = bspI2cWriteRead(&addr, 1, re_buf, 15);跑飞,求大神指点,thanks!!


Viewing all articles
Browse latest Browse all 7485

Trending Articles