LED寄存器读写的问题~
BOARD:S3C2410_V4 KERNEL:KERNEL-2.6.8.1
LED寄存器读写的问题
pREG = ioremap(0x56000010, 0x20); //GPBCON 地址56000010
printk("Virtual addr base = 0x%lx\n", (unsigned long)pREG);
tmp = * (volatile unsigned long *)pREG;
printk("GPBCON = 0x%lx\n", tmp);
tmp = * (volatile unsigned long *)(pREG + 1);
printk("GPBDAT = 0x%lx\n", tmp);
printk("Seting LED Test Driver...\n");
//GPB0是GPBCON的最底两位,led接GPB0 00:IN 01:OUT
* (volatile unsigned long *)pREG = 0x155555;//0101010101010101010101 GPBCON共22位
* (volatile unsigned long *)(pREG + 1) = 0xfff;
tmp = * (volatile unsigned long *)pREG;
printk("GPBCON = 0x%lx\n", tmp);
tmp = * (volatile unsigned long *)(pREG + 1);
printk("GPBDAT = 0x%lx\n", tmp);
printk("LED Test Driver initiated.\n");
此模块insmod时就将 LED熄灭了, 可我把底2位值改为,00时也没见它再亮啊.
问题:pREG = 0x155555 它的寄存器位设置就是转化2进制对位的设置 10101010101010101吧?
问题:GPBCON 有没有大小端的说法? 我要把它的状态改变是否把最底2位变为00 就可以把灯再点亮呢?
基础差.含涵~
[ 本帖最后由 jn200002 于 2008-6-20 14:59 编辑 ]
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
jn兄寫的好亂啊
給你摘了一段Atmel的LED測試程序,你參考一下,如果需要完整版聯系我
复制代码
复制代码