IIC读取传感器FIFO中的值

2019-08-19 17:34发布

本帖最后由 STM23小白 于 2017-5-12 17:22 编辑

资料中伪代码如下
START;
Send device address + write mode
Send address of FIFO_DATA;
REPEATED_START;
Send device address + read mode
for (i = 0; i < NUM_SAMPLES_TO_READ; i++) {
Read FIFO_DATA;
Save LED1[23:16];
Read FIFO_DATA;
Save LED1[15:8];
Read FIFO_DATA;
Save LED1[7:0];
Read FIFO_DATA;
Save LED2[23:16];
Read FIFO_DATA;
Save LED2[15:8];
Read FIFO_DATA;
Save LED2[7:0];
Read FIFO_DATA;
}
STOP;
我的程序
        IIC_Start();
        IIC_Send_Byte(DEVICE_ADR_W);
        IIC_Wait_Ack();
        IIC_Send_Byte(0x06);
        IIC_Wait_Ack();     
        IIC_Start();        
        IIC_Send_Byte(DEVICE_ADR_R);
        IIC_Wait_Ack();
        for(u8 i=0; i<NUM_AVAILABLE_SAMPLES; i++)
        {  
            LED1[0]=IIC_Read_Byte(1);
            LED1[1]=IIC_Read_Byte(1);
            LED1[2]=IIC_Read_Byte(1);
            LED2[0]=IIC_Read_Byte(1);
            LED2[1]=IIC_Read_Byte(1);
            LED2[2]=IIC_Read_Byte(0);
        }
        IIC_Stop();
这样对吗?
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
3条回答
STM23小白
1楼-- · 2019-08-19 18:14
关键是for循环那一段,以前没有试过IIC连续读值
STM23小白
2楼-- · 2019-08-19 23:50
关键是for循环那一段,以前没有试过IIC连续读值
STM23小白
3楼-- · 2019-08-20 04:53

一周热门 更多>