您的位置: OpenADSP社区论坛 -> Blackfin专区 -> 新手上路 -> ADSP开源下载发布区 -> [求助] SPI 程序
本帖共有2857个阅读者
发表帖子 发表投票 回复主题
[求助] SPI 程序
jian2013(论坛新手)
jian2013
头衔:社区公民
帮派:无帮无派
帖数:24
金钱:322
积分:32
注册时间:2013/1/7
楼主信息 | 留言 | Email | 主页 | 编辑 | 管理 | 离线
[求助] SPI 程序

为什么视频教程里的SPI 程序只有一个呢? 不是应该要有两个?一个发送程序,一个接收程序。

有没有发送和接收分开的SPI 传输数据程序可以参考下啊?

求助求助


这家伙很懒,什么也没有留下!
等级:论坛新手 参考IP地址:*.*.*.*
2013/1/22 8:48:09
尊贵身份标志
andy(论坛版主)
andy
头衔:社区公民
帮派:无帮无派
帖数:2287
金钱:11132
积分:2263
注册时间:2011/6/8
1信息 | 留言 | Email | 主页 | 编辑 | 管理 | 离线

spi的发送和接收不能分开的,spi协议规定,时钟永远来源于主机,从机在发送数据时是接收主机的时钟。而SPI只有在主机发送数据时才能产生时钟,所以通常如果你想接收数据,必须先发送数据,此时从机会将数据返回给主机,存入SPI的FIFO寄存器,然后可以读取该寄存器获取数据,如果单单是操作读取FIFO寄存器,是不可能获得从机返回的数据的。这也是为什么SPI的时序会慢一个字节,原因就在于接收数据和读取数据不是同时完成的。



「该帖子被 andy 在 2013-01-22 09:34:20 编辑过」

这家伙很懒,什么也没有留下!
等级:论坛版主 参考IP地址:*.*.*.*
2013/1/22 9:33:09
jian2013(论坛新手)
jian2013
头衔:社区公民
帮派:无帮无派
帖数:24
金钱:322
积分:32
注册时间:2013/1/7
2信息 | 留言 | Email | 主页 | 编辑 | 管理 | 离线
我想用两块ADSP BF533 EZ-KIT板子通信,一块为发送机,另一块为接收机。 不是需要两个程序吗(一个发送程序,一个接收程序)?

这家伙很懒,什么也没有留下!
等级:论坛新手 参考IP地址:*.*.*.*
2013/1/22 10:20:02
尊贵身份标志
andy(论坛版主)
andy
头衔:社区公民
帮派:无帮无派
帖数:2287
金钱:11132
积分:2263
注册时间:2011/6/8
3信息 | 留言 | Email | 主页 | 编辑 | 管理 | 离线

需要一个SPI主机的发送和接收代码,需要一个SPI从机的发送和接收代码。

如果你真的想把SPI发送和接收分开,也可以将发送单独提出,但接收数据前必须要发送数据让SPI产生时钟。也有可能接收时会丢掉时钟。



这家伙很懒,什么也没有留下!
等级:论坛版主 参考IP地址:*.*.*.*
2013/1/22 14:27:36
jian2013(论坛新手)
jian2013
头衔:社区公民
帮派:无帮无派
帖数:24
金钱:322
积分:32
注册时间:2013/1/7
4信息 | 留言 | Email | 主页 | 编辑 | 管理 | 离线

谢谢ANDY耐心回答,如果我通过SPI串口,主机和从机都需要有SPI的发送接收代码,那主机和从机寄程序不是基本一样?

如果通过UART串口的的话,是否可以把发送和接收分开(主机专门发送,从机专门接收)?


这家伙很懒,什么也没有留下!
等级:论坛新手 参考IP地址:*.*.*.*
2013/1/22 17:07:18
尊贵身份标志
andy(论坛版主)
andy
头衔:社区公民
帮派:无帮无派
帖数:2287
金钱:11132
积分:2263
注册时间:2011/6/8
5信息 | 留言 | Email | 主页 | 编辑 | 管理 | 离线

代码差不多,主要区别是配置SPI的控制寄存器,一个是主,一个是从,其实发送和接收在一起使用起来会很方便,在发送完成后,可以判断是否有新的数据需要接收,在接收时,不用考虑产生时钟。

如果是UART,发送和接收是分开的,而且不存在主从问题,只要波特率一致即可。会比SPI方便。


这家伙很懒,什么也没有留下!
等级:论坛版主 参考IP地址:*.*.*.*
2013/1/22 22:36:56
jian2013(论坛新手)
jian2013
头衔:社区公民
帮派:无帮无派
帖数:24
金钱:322
积分:32
注册时间:2013/1/7
6信息 | 留言 | Email | 主页 | 编辑 | 管理 | 离线

有没有UART,发送和接收分开的程序能发给我学习下呢?

如果想用两块ADSP-BF533 EZ-KIT Lite 分别接两个RF模块,做无线通信,有什么好的方案吗,用什么RF模块合适,用BF533的什么管脚连接RF模块?求指导

感谢!


这家伙很懒,什么也没有留下!
等级:论坛新手 参考IP地址:*.*.*.*
2013/1/25 4:36:18
jian2013(论坛新手)
jian2013
头衔:社区公民
帮派:无帮无派
帖数:24
金钱:322
积分:32
注册时间:2013/1/7
7信息 | 留言 | Email | 主页 | 编辑 | 管理 | 离线

有没有UART,发送和接收分开的程序能发给我学习下呢?

如果想用两块ADSP-BF533 EZ-KIT Lite 分别接两个RF模块,做无线通信,有什么好的方案吗,用什么RF模块合适,用BF533的什么管脚连接RF模块?求指导

感谢!


这家伙很懒,什么也没有留下!
等级:论坛新手 参考IP地址:*.*.*.*
2013/1/25 11:09:11
尊贵身份标志
andy(论坛版主)
andy
头衔:社区公民
帮派:无帮无派
帖数:2287
金钱:11132
积分:2263
注册时间:2011/6/8
8信息 | 留言 | Email | 主页 | 编辑 | 管理 | 离线

你到www.openadsp.com下载专区中下UART接口的例子程序,有个汇编的,还有个C的,你看那个C的。

RF多采用UART接口,有很多成品模块卖


这家伙很懒,什么也没有留下!
等级:论坛版主 参考IP地址:*.*.*.*
2013/1/25 22:54:57
jian2013(论坛新手)
jian2013
头衔:社区公民
帮派:无帮无派
帖数:24
金钱:322
积分:32
注册时间:2013/1/7
9信息 | 留言 | Email | 主页 | 编辑 | 管理 | 离线
我下载了UART 的例子程序,可是发送和接收的程序在例子中并没有分开啊!

这家伙很懒,什么也没有留下!
等级:论坛新手 参考IP地址:*.*.*.*
2013/1/29 10:05:52
11
1
1/2
Powered by OpenADSP Copyright © 2010 www.Openadsp.com. All rights reserved.154727 Call, 1 Queries, Processed in 0.031250 second(s),