5600浏览
查看: 5600|回复: 5

[讨论] SPI两主一从的问题

[复制链接]
我现在需要用两块Arduino连接到一个SPI接口的SD卡模块上,由于暂时没有数字开关,我使用继电器来切换不同的arduino连接SD卡,如下图所示。
SPI两主一从的问题图1



平时Arduino2一直连上SD卡,当Arduino1需要使用SD卡时,向Arduino2发出中断,然后打开继电器,使得Arduino1连接上SD卡,Arduino2断开。

注意:
1、Arduino1具有优先使用SD卡的权利,且对实时性要求很高,需要使用SD卡必须立即打开。
2、Arduino2不可以长时间被中断。

那么现在问题来了,Arduino1读写SD卡都没有问题,Arduino2读没有问题,但写入时,执行到SD.open(filename,FILE_WRITE);就一直死机,这是怎么回事啊?
是不是SPI的SCK信号发生问题,还是什么原因呢?或者有没有更好的解决方法?谢谢!

以前有想过只让2连接SD卡,1通过串口发送数据给2,让2将数据存储到SD卡中。可这样会有3个问题:
1、串口传输会需要一定的时间,而Arduino2不能被长时间中断
2、如果中断前,2刚好在操作SD卡,那中断过程中,2将1传来的数据存储到SD卡会不会发生错误?中断返回后,还可以接着操作SD卡吗?
3、arduino.cc中有说“Serial data received while in the function may be lost.“,中断时串口数据接收会有问题。(不过这个倒可以用I2C的Wire库来解决)

Grey  中级技匠

发表于 2015-1-11 12:59:13

继电器。。。
回复

使用道具 举报

云水尧  初级技师
 楼主|

发表于 2015-1-11 13:50:56


没有数字开关嘛,暂时使用继电器代替一下啦,测试下来还可以,影响不是很大
回复

使用道具 举报

Youyou  初级技匠

发表于 2015-1-11 19:04:12

以前还有人使用过用继电器来调速,那个啪啪啪的声音实在。。。
回复

使用道具 举报

Grey  中级技匠

发表于 2015-1-11 20:35:40

本帖最后由 Grey 于 2015-1-11 20:38 编辑
Youyou 发表于 2015-1-11 19:04
以前还有人使用过用继电器来调速,那个啪啪啪的声音实在。。。

那个啪啪啪的声音。。。。
回复

使用道具 举报

云水尧  初级技师
 楼主|

发表于 2015-1-12 21:39:35

Youyou 发表于 2015-1-11 19:04
以前还有人使用过用继电器来调速,那个啪啪啪的声音实在。。。

:loveliness:,有推荐的模块吗?能在dfrobot里买到的
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

为本项目制作心愿单
购买心愿单
心愿单 编辑
[[wsData.name]]

硬件清单

  • [[d.name]]
btnicon
我也要做!
点击进入购买页面
上海智位机器人股份有限公司 沪ICP备09038501号-4

© 2013-2024 Comsenz Inc. Powered by Discuz! X3.4 Licensed

mail