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
继电器。。。
没有数字开关嘛,暂时使用继电器代替一下啦,测试下来还可以,影响不是很大 以前还有人使用过用继电器来调速,那个啪啪啪的声音实在。。。 本帖最后由 Grey 于 2015-1-11 20:38 编辑
Youyou 发表于 2015-1-11 19:04
以前还有人使用过用继电器来调速,那个啪啪啪的声音实在。。。
那个啪啪啪的声音。。。。 Youyou 发表于 2015-1-11 19:04
以前还有人使用过用继电器来调速,那个啪啪啪的声音实在。。。
:loveliness:,有推荐的模块吗?能在dfrobot里买到的
页:
[1]