7747| 5
|
[讨论] 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库来解决) |
© 2013-2025 Comsenz Inc. Powered by Discuz! X3.4 Licensed