云水尧 发表于 2015-1-7 10:14:55

SPI两主一从的问题

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




平时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

Grey 发表于 2015-1-11 12:59
继电器。。。

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

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里买到的
页: [1]
查看完整版本: SPI两主一从的问题