spi驱动问题
s3c6410+wince6.0
要调试spi驱动,代码看了一遍,大致了解代码内容,可还是没思路,求调试过的spi驱动的朋友指点一下该怎么做
1、spi驱动里还修改哪些参数或寄存器配置?
2、怎样启动spi驱动传递数据?
3、我是用spi与FPGA通信,请问怎么测试通信正常?
谢谢各位了,急!!!!
[解决办法]
你这是驱动调用的问题,在BSP里找一下
比如你的驱动注册表是
[HKEY_LOCAL_MACHINE\Drivers\BuiltIn\GPMC]
"Prefix"="GPM"
"Dll"="GPMC.dll"
"Index"=dword:1
"Order"=dword:1
一般就是; CreateFile()函数打开驱动,里面有个参数"GPM1:"
也就是Prefix + Index
你搜GPM1就是了
你的SPI类似
[解决办法]
我的也是6410+wince6。
我用SPI分别接一个扩展串口芯片和一个打印驱动芯片
我用的扩展串口SPI的通讯是这样:向MOSI写多少数据就读多少, 这些不一定是你想要的数据,有可能是脏数据,如果不读出来的话就会在FIFO中。读数据时要先写数据,读多少写多少,这样出来的数据才是你想要的。具体和芯片SPI的通讯时序,还得看datasheet。
还有,看6410的datasheet,SPICLK频率设置, CLK是高有效还是低有效,formatA还是formatB,DMA还是INTR,或者polling。如果是用wince的spi驱动,这些都要通过ioctl设置,然后通过ioctl的start开始传输。然后读数据。。。这样操作。
如果不用wince的spi驱动,是自己写的,比较简单的方式就是polling,要记得每次传输前设置,一定要按照手册上的顺序设置,reset,写fifo。。。的操作顺序。
我现在就是用polling的方式,还存在问题,就是要循环读写加延迟,否则spi很容易就死掉了,这个问题已经找到方向了,应该比较容易就解决了。