linux-2.6下IIC驱动问题
linux-2.6下的IIC驱动,目的读取ZLG7290内的键值,ZLG7290的地址为0X70,键值寄存器的地址为0X01。每次按一次键从该寄存器内读取一次键值,都是数字键。代码如下:
R_IICCON = ioremap(0x54000000,4);
R_IICSTAT = ioremap(0x54000004,4);
R_IICADD = ioremap(0x54000008,4);
R_IICDS = ioremap(0x5400000c ,4);
char data; int i;
iowrite8(0xd0,R_IICSTAT);
iowrite8(0x70,R_IICDS);
for(i=0;i<10;i++);
iowrite8(0Xf0,R_IICSTAT);
barrier();
udelay(1000); //主发送模式下送出ZLG7290芯片地址且为写
iowrite8(0x01,R_IICDS) ;
for(i=0;i<10;i++);
iowrite8(0xe3,R_IICCON);
barrier();
udelay(1000); //主发送模式下送出芯片寄存器地址
iowrite8(0x90,R_IICSTAT);
iowrite8(0x71,R_IICDS) ; //主接受模式下送出芯片地址且为读
iowrite8(0xb0,R_IICSTAT);
barrier();
udelay(10000);
iowrite8(0xe3,R_IICCON);
barrier();
udelay(10000);
data=ioread8(R_IICDS); //主接受模式下读取键值
return data;
可是没次读出的值都是0x71,0x7f,0xff.这些值,分析肯定不对 。但就是不知道那里有问题,感觉这个程序好象一点问题没有,都是按着网上人间写的内容写的。
不知道出错在那里,帮帮忙指点一下。
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
http://hi.baidu.com/mikenoodle/b ... 953830adafd545.html
非常感谢ni