永发信息网

iic协议读取数据的问题

答案:3  悬赏:70  手机版
解决时间 2021-04-18 07:35
iic协议读取数据的问题
最佳答案
读地址和写地址是不一样的,读操作也是得先把读操作的地址先写进去才能读追问可是 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的协议,读的过程是:写器件地址--寄存器地址--读地址--读回数据
全部回答
你数据不首先写进去,怎么可以读出来呢?就像你没吃东西怎么会拉东西出来,要想从器件中读到数据,肯定要保障器件本来有数据对吧。所以首先要向里面写数据啊。然后再读出来啊。希望能帮到你。追问现在是要读数据。不是写数据。。我的问题是 读数据的时候 为什么要write_byte(0xa0);
直接write_byte(0xa1);//写器件地址 并表示要读 这样不可以么?追答哦,我明白你的意思了,是这样的,主器件读数据的时候肯定要知道它要读哪块地址吧,那个24C系列芯片存储数据是按一个一个地址来的,就像电脑内存一样,每个地址对应存一个字节数据,所以你要从从器件读数据到主器件,肯定必须要知道从哪个地址读对吧,就像你告诉我我可以来你家,但是前提是我得知道你家的地址才能去你家对吧。所以当主器件读数据的时候,肯定首先要把读哪个地址写进去,然后再从这个地址当中读出数据。这样明白了吗?至于那个24C系列芯片储存数据规格可以看它的datasheet。希望可以帮到你。
start_iic();
write_byte(0xa0);
respons();
write_byte(address);
这上面的是要告诉器件,我要 (操作) 你的那个地址(address)单元。
write_byte(0xa1);//这句话是要告诉器件,准备要来读你,读就要有对像,对像在哪呢?就是你上面所写入的地址。
data=read_byte();//这句话才是真正的把数据给读出来,明白了吗?
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
三更半夜的反义词是什么
安妮大招怎么用,英雄联盟安妮控制熊操作有哪
如皋市超威电池经销商地址
咱们相爱吧经典台词,咱们相爱吧第二十四集博
有没有有关侍卫或者锦衣卫的bg言情文,类似于
写回忆童年的唯美句子,回忆童年的一些小诗
五个字的祝福语
市区哪里有卖农夫山泉桶装水?
北京特产哪里买比较好,湖南有哪些特产?在长沙
写长城作文200字 先总后分
雏鹰东北用什么熏酱熟食
用Can 或者 have to 的正确形式填空.
孩子不听话爱哭怎么办,我家孩子爱哭,特别倔
你好粗尾巴读后感
德州到广州高铁多少钱,问:从广州到浙江嘉兴
推荐资讯
微信怎么弄聊天背景,微信怎么设置聊天背景图
本人身高165cm,体重75公斤,运动服得穿多大型
陈柏霖花儿与少年语录,好书推荐 《少年与海》
学而思网校好不好?和海风教育哪个好
初二有哲理的英语句子,写一个带有感叹号的句
社会欠你一个女朋友是什么意思
LED2.5*5*7.8是什么体积?
别后退别后悔这句歌词来自哪首歌
百字开头的五字诗词,歌颂祖国的诗词(毛笔字14
思绪万千下一句,细雨绵绵,思绪万千,后面一句
今天是自已生日,感谢父母的话该怎么说
赞美音乐的名句
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?