我爱Aspx >> Asp.Net >> S3C2410 SPI驱动问题(高手敬请入场)S3C2410的IIC和SPI的相关寄存器都是8位有效的,我用ioremap后,对相关寄存器iowrite8和ioread8操作,结果是比如:写入0x18,经过wmb()后,读出却是0x00。
google_ad_width = 250; google_ad_height = 250; google_ad_format = "250x250_as"; google_color_url = "000000";
但是同样的代码(iowrite/read8改成iowrite/read32),我对8位以上的其它寄存器操作就正常(比如:pwm,iis等),各位大侠救救小弟我吧(我的内核版本是2.6.12)
第2楼. 由 tb01412 于 2007-6-20 18:30:20 发表
嵌入式软件工程师必须明白的几个方面:
1.向外设某寄存器写入数据后,并不一定是立刻生效(这跟内存读写不同),有可能需要一定的延时
2.外设寄存器并不一定是可读写的,有些只能写,有些只能读,有些寄存器写入与读出的值是不相同的,它们代表的意义也有所不同
第3楼. 由 tupingr 于 2007-6-21 9:25:39 发表
TKS,寄存器的读写特点这个我明白,我详细查看了处理器手册的。不过你说的需要延时一下,我试试,结果待会儿列出来给大家。
第4楼. 由 tupingr 于 2007-6-21 9:31:07 发表
之前我还这么试过,在bootoader(我用的是u-boot)中向SPI控制寄存器和波特率设计寄存器写入一个相对应的值,然后boot启动内核,加载这个驱动程序,init中在读出那两个寄存器的值,结果是:读出值非常正确。
第5楼. 由 tupingr 于 2007-6-21 10:16:55 发表
加入mdelay(1)延时后,还是不行,关键在于现在能写8位以上的处理器内部寄存器,就是8位寄存器不能写入。datasheet上明确指出SPI 控制寄存器是可读可写的。
Ҷƪл˵?
mysql什么情况下才用索引?[07-06]
jsp中的下拉框怎么实现自动提交?..[07-06]
java读取txt,并解析成xml格式数据[07-06]
我现在想使用Excel从Word中将批注..[07-06]
该如何显示?[07-06]
怎样查看隐藏IFrame中的源代码?[07-06]
急救!表格于表格之间有缝隙,请..[07-06]
两个表格的两个问题[07-06]
怎样给层加上边框呀?[07-06]
初学HTML,不明白这段代码,请教[07-06]