USART和SPI虽然都叫串行通讯,但它们的协议完全不同。不能替换。
SD卡的操作有SDIO模式和SPI模式
STM32有硬件SDIO接口,何必那么麻烦用速度较低的SPI模式呢?
如果您是因为MCU引脚已经被分配完,只剩UASRT的话,可以使用控制IC来操作SD卡。
比如
SD卡只支持两种接口:SDIO 和 SPI 可以直接读写SD卡
UART肯定不行。除非你中间加入其他部件,间接实现的读写卡。