当前位置: 技术问答>linux和unix
SPI 时钟问题
来源: 互联网 发布时间:2016-09-23
本文导语: 大家好,我用的是omap3530,使用linux2.6内核的自带的omap2_mcspi.c和spidev.c来作为SPI的驱动,在omap2_mcspi.c中添加了引脚复用,也修改了board-omap3beagle.c。开机之后,能在系统中找到我的设备节点,发送数据时有片选信...
大家好,我用的是omap3530,使用linux2.6内核的自带的omap2_mcspi.c和spidev.c来作为SPI的驱动,在omap2_mcspi.c中添加了引脚复用,也修改了board-omap3beagle.c。开机之后,能在系统中找到我的设备节点,发送数据时有片选信号,但是时钟始终没有(数据我是循环一直发送的),如果不添加复用,连片选都没有。SPI的各个寄存器的配置我检查了,跟手册上一致都没问题,或者还是配置的不对?困扰了我半个月了!谢谢那位能指点一二呀!
|
我SPI也搞了将近一个月,公司用的是6410的,在不行你先用GPIO口模拟,看看是不是硬件问题,如果可用,就使用控制器的,先不用SPI子系统里的程序,自己先写一个字符设备的驱动,如果可以了,最后在来研究SPI子系统。反正只要能实现数据的收发,你管它用的是不是子系统呢?但研究一下子系统还是比较有好处的,SPI子系统算是内核里比较简单的了的吧!我当时弄了一个月,到最后发现根本不是什么时钟的问题,就是寄存器没设备正确。
按这个顺序楼主应该能做出来的,GPIO模拟-->字符设备驱动-->使用子系统。
按这个顺序楼主应该能做出来的,GPIO模拟-->字符设备驱动-->使用子系统。
|
说得对,我也在搞SPI,时钟也没有出来,只有往SPI数据寄存器写数据才有时钟信号