主题 : SPI如何接收数据 复制链接 | 浏览器收藏 | 打印
级别: 侠客
UID: 5706
精华: 0
发帖: 119
金钱: 780 两
威望: 406 点
综合积分: 238 分
注册时间: 2009-05-05
最后登录: 2011-05-22
楼主  发表于: 2010-01-16 22:24

 SPI如何接收数据

经过两天的学习,在mini2440上终于可以跑通了。当然感谢kasim的帮助。测试程序spidev_test测试成功。

有几个疑问和问题请帮忙。

1、s3c24xx的驱动程序是不是只有主设备模式?没有从设备的?
2、在主设备模式下,如果仅要接收从设备的数据,应该怎么做?是否要用到中断呢?怎么用?我不会用中断啊!

*無鈳取玳
级别: 论坛版主
UID: 27
精华: 12
发帖: 5398
金钱: 40120 两
威望: 17929 点
综合积分: 11036 分
注册时间: 2008-01-16
最后登录: 2014-11-22
1楼  发表于: 2010-01-16 23:47
我没有帮你什么,你的问题的答案都在源代码里,是你自己找出来的。
1、s3c24xx的驱动程序是不是只有主设备模式?没有从设备的?

是的,目前S3C2440A只能作为SPI的Master

2、在主设备模式下,如果仅要接收从设备的数据,应该怎么做?是否要用到中断呢?怎么用?我不会用中断啊!

如果你用S3C2440A的SPI Controller,接收数据是在SPI Controller的中断处理函数s3c24xx_spi_irq(), 定义在drivers/spi/spi_s3c24xx.c,中完成的,不需要你另外实现;
如果你用GPIO模拟SPI接口的硬件时序,不会有特定的SPI中断,接收数据等同于读取GPIO状态。参考实现在drivers/spi/spi_s3c24xx_gpio.c
"If you have an apple and I have an apple and we exchange apples, then you and I will
still each have one apple. But if you have an idea and I have an idea and we exchange
these ideas, then each of us will have two ideas."
级别: 侠客
UID: 5706
精华: 0
发帖: 119
金钱: 780 两
威望: 406 点
综合积分: 238 分
注册时间: 2009-05-05
最后登录: 2011-05-22
2楼  发表于: 2010-01-17 10:20
请问spidev.c文件和spi_s3c24xx.c 又什么联系吗? 二者之间是一种什么样的关系?