我是嵌入式新手,现在手头有一块s3c2410的板子,老师要我用spi编wifi程序,看说明上没有关于spi的资料,用baidu搜出来知道了spi是一个通信协议,好像和单片机的汇编语言有关的,但是我只会用c语言,按照我们老师的说法好像还要移植到linux上去,我现在没有说明头绪啊,不知道要从哪里开始,大家有么有类似的程序或者资料给我参考下啊,据说貌似好像很简单的,只要几句简单的话就能实现这个功能呢
SPI是同步串行口
呵呵,一般的芯片应该带有这个基本的通信口
用C一样可以操作这个功能口
具体你看你的OS以及对应芯片的接口怎么移植吧
spi只是总线而已
起通信作用
前几天应项目需要,写了个用spi通信的键盘程序
是2410和单片机通信的
关键就是设置相应的寄存器什么的
去网上google吧
很多
s3c2410 baseband平台应该有提供spi读写接口啊.
各个嵌入式平台一般都有,如果没有,就得自己实现spi总线标准接口了.
spi的实现主要有两种方式:硬件控制器方式和io模拟方式(这一点与i2c比较类似,但协议上要简单很多)
如果芯片内部集成有spi的控制器,建议最好使用硬件控制器,通过读写寄存器的方式读写总线上其他设备上面的数据
如果没有也没关系,选3个没有用到的io:data线,clk线以及CS线(CS可以不需要,data in和data out可能要区分,看具体的要求了),然后clk每跳一下,向下送一位数据,实现起来很简单,每一本讲单片机的书上都有例子。应注意的是对于比较快速的单片机比如某些arm,时钟线应该自行加一点延时才能通信成功,具体加多少延时请查看spi设备器件的数据手册
请问kenshinxf :
我之前也在做2410下SPI键盘驱动的问题,首先使用查询方式来处理,能够正确的接收键盘数据,但是后来需要改成外部中断来处理了,具体是:按键后,马上产生一个外部中断给2410,2410在中断产生后要马上去读取数据,现在因为领导要求能够同时处理读和写数据,所以我想问问能否有一个机制:当中断来临后通知用户在调用read函数,而不是一直在read来查询是否有数据??不吝赐教!
QQ:70438592