1

我正在尝试实现一种将数据从 dsPIC33F 写入 SD 卡的方法。我目前可以通过 UART 将数据传输到蓝牙和 USB,但我在网上找不到任何关于通过 UART 写入 SD 卡的信息;这一切似乎都是SPI。

使用 SPI,但我已经在使用 I2C,而且似乎很难在同一个 PIC 上同时使用 SPI 和 I2C,因为它们共享引脚。

那么,任何人都可以建议任何有关通过 UART 将数据写入 SD 卡的信息,或者同时使用 SPI 和 I2C 的方法吗?

我想要的只是某种形式的存储方法,所以如果有人可以建议另一种方法,也许是 EEPROM 或 USB 闪存驱动器,那么我会全力以赴。我需要至少 2GB 的存储空间,越多越好。

4

2 回答 2

2

大多数 SD 卡本身支持 SPI 通信,但不支持 UART,因此无法直接连接 UART。我建议不要使用 USB 闪存驱动器,因为那里有很多开销使事情复杂化。并且 EEPROM 很可能使用 SPI 或 I2C,因此您仍然会遇到一组外围引脚已在使用中的问题。

考虑到您使用的芯片,您最好的选择是使用外设引脚选择功能将一些可用引脚映射为您需要的 4 个 SPI 引脚。数据表的第 11.6 节很好地解释了如何重新映射引脚功能。这可能是最简单的解决方案。

您可能使用的另一种方法是使用 UART 与另一个具有可用 SPI 引脚的 PIC 通信,但这也引入了很多额外的开销和复杂性。

于 2013-05-09T18:30:42.677 回答
0

SD 卡可以与 SDIO 或 SPI 一起使用。
为了消除 SPI / I2C 引脚共享问题,我会:
1)检查传感器是否可以用 SPI 替换
2)如果不能,我将使用其他引脚实现软件 SPI(MCU 是主控,因此这更容易)

于 2020-01-10T13:30:58.293 回答