• λ我爱Aspx >> Asp.Net >> S3C2410 SPI驱动问题(高手敬请入场)
  • S3C2410 SPI驱动问题(高手敬请入场)

  • :aspxer  Դ:csdn  :2007-7-6 2:49:42  ؼ:
  • 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 控制寄存器是可读可写的。

    Ҷƪл˵?
  • һƪ百度,google编码转换问题!
    һƪmysql什么情况下才用索引?