iic协议读取数据的问题
答案:3 悬赏:70 手机版
解决时间 2021-04-18 07:35
- 提问者网友:留有余香
- 2021-04-17 08:14
iic协议读取数据的问题
最佳答案
- 五星知识达人网友:北方的南先生
- 2021-04-17 09:22
读地址和写地址是不一样的,读操作也是得先把读操作的地址先写进去才能读追问可是 write_byte(0xa1)不也是把器件地址写进去。1是表示要读。write_byte(address)是表示要读的内容的地址。请问这样理解哪里错误了??谢谢。追答是这样的,不明白你还有什么问题追问额 可能是我问得不清楚。我的意思是把程序改成
uint read_add(uchar address)
{
uint data;
start_iic();
write_byte(0xa1);//写器件地址 并表示要读
respons();
write_byte(address);//寄存器地址
respons();
data=read_byte();
stop();
return data;
}追答start_iic();
是必需的追问我知道啊。你对比一下两个程序先。追答建议你详细看看IIC的协议,读的过程是:写器件地址--寄存器地址--读地址--读回数据
uint read_add(uchar address)
{
uint data;
start_iic();
write_byte(0xa1);//写器件地址 并表示要读
respons();
write_byte(address);//寄存器地址
respons();
data=read_byte();
stop();
return data;
}追答start_iic();
是必需的追问我知道啊。你对比一下两个程序先。追答建议你详细看看IIC的协议,读的过程是:写器件地址--寄存器地址--读地址--读回数据
全部回答
- 1楼网友:风格不统一
- 2021-04-17 10:54
你数据不首先写进去,怎么可以读出来呢?就像你没吃东西怎么会拉东西出来,要想从器件中读到数据,肯定要保障器件本来有数据对吧。所以首先要向里面写数据啊。然后再读出来啊。希望能帮到你。追问现在是要读数据。不是写数据。。我的问题是 读数据的时候 为什么要write_byte(0xa0);
直接write_byte(0xa1);//写器件地址 并表示要读 这样不可以么?追答哦,我明白你的意思了,是这样的,主器件读数据的时候肯定要知道它要读哪块地址吧,那个24C系列芯片存储数据是按一个一个地址来的,就像电脑内存一样,每个地址对应存一个字节数据,所以你要从从器件读数据到主器件,肯定必须要知道从哪个地址读对吧,就像你告诉我我可以来你家,但是前提是我得知道你家的地址才能去你家对吧。所以当主器件读数据的时候,肯定首先要把读哪个地址写进去,然后再从这个地址当中读出数据。这样明白了吗?至于那个24C系列芯片储存数据规格可以看它的datasheet。希望可以帮到你。
直接write_byte(0xa1);//写器件地址 并表示要读 这样不可以么?追答哦,我明白你的意思了,是这样的,主器件读数据的时候肯定要知道它要读哪块地址吧,那个24C系列芯片存储数据是按一个一个地址来的,就像电脑内存一样,每个地址对应存一个字节数据,所以你要从从器件读数据到主器件,肯定必须要知道从哪个地址读对吧,就像你告诉我我可以来你家,但是前提是我得知道你家的地址才能去你家对吧。所以当主器件读数据的时候,肯定首先要把读哪个地址写进去,然后再从这个地址当中读出数据。这样明白了吗?至于那个24C系列芯片储存数据规格可以看它的datasheet。希望可以帮到你。
- 2楼网友:迟山
- 2021-04-17 10:14
start_iic();
write_byte(0xa0);
respons();
write_byte(address);
这上面的是要告诉器件,我要 (操作) 你的那个地址(address)单元。
write_byte(0xa1);//这句话是要告诉器件,准备要来读你,读就要有对像,对像在哪呢?就是你上面所写入的地址。
data=read_byte();//这句话才是真正的把数据给读出来,明白了吗?
write_byte(0xa0);
respons();
write_byte(address);
这上面的是要告诉器件,我要 (操作) 你的那个地址(address)单元。
write_byte(0xa1);//这句话是要告诉器件,准备要来读你,读就要有对像,对像在哪呢?就是你上面所写入的地址。
data=read_byte();//这句话才是真正的把数据给读出来,明白了吗?
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯