关于FR801X 开发板i2c0 (PD4 PD5)总线的初始化 通讯异常问题, 读取不到芯片ID问题。



  • void sensor_I2C_init(void)
    {
    system_set_port_mux(GPIO_PORT_D, GPIO_BIT_4, PORTD4_FUNC_I2C0_CLK);//PD4
    system_set_port_mux(GPIO_PORT_D, GPIO_BIT_5, PORTD5_FUNC_I2C0_DAT);//PD5
    iic_init(IIC_CHANNEL_0,4000,0x0);
    co_delay_100us(10000);
    iic_read_byte(IIC_CHANNEL_0, (0x27<<1), 0x1, &i);
    co_printf("get ID %0x\r\n",i);
    iic_read_byte(IIC_CHANNEL_0, (0x27<<1), 0x1, &i);
    co_printf("get ID %0x\r\n",i);
    }
    FR801X开发板是可以通过GPIO 模拟I2C读取到chip id,但是不知为何通过i2c总线控制器确无法获取,求教。



  • @lianghong 你看看你用的从机设备的寄存器地址是8bit,还是16bit,富芮坤提供的iic代码时针对8bit的