毕业论文开发语言企业开发JAVA技术.NET技术WEB开发Linux/Unix数据库技术Windows平台移动平台嵌入式论文范文英语论文
您现在的位置: 毕业论文 >> 嵌入式 >> 正文

怎样启动spi驱动传递数据?

更新时间:2012-8-30:  来源:毕业论文

s3c6410+wince6.0

要调试spi驱动,代码看了一遍,大致了解代码内容,可还是没思路,求调试过的spi驱动的朋友指点一下该怎么做
1、spi驱动里还修改哪些参数或寄存器配置?
2、怎样启动spi驱动传递数据?
3、我是用spi与FPGA通信,请问怎么测试通信正常?
谢谢各位了,急!!!!

SPI的启动只要选中片选线,然后启动时钟,每个时钟在数据线上送一位数(MISO),同时读出移出的数据(MOSI)就行了。一般开发板都有示例代码的。

这是驱动调用的问题,在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很容易就死掉了,这个问题已经找到方向了,应该比较容易就解决了。

设为首页 | 联系站长 | 友情链接 | 网站地图 |

copyright©youerw.com 优尔论文网 严禁转载
如果本毕业论文网损害了您的利益或者侵犯了您的权利,请及时联系,我们一定会及时改正。