This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

TMDSCNCD28388D: SPI传输速度

想请问一下,如何降低SPI的传输速度呢?

在SD初始化的时候,要求SPI的传输速度不超过400kbit/s。

请问一下,下面这个函数中1000000的单位,和我们常用的波特率是一样的吧。是bps,也就是每秒发送了1000000bit的数据

SPI_setConfig(***, DEVICE_LSPCLK_FREQ, SPI_PROT_POL1PHA1,SPI_MODE_MASTER, 1000000, 8);

如果是这样的话,我想降低SPI的传输速度的话,只需要将1000000改成360000,也就是改成了360kbit/s。

在对SD卡初始化之后,需要将SPI的传输速度加快。只需要再使用一次上面那个函数吧,也就是写成下面这样:

SPI_setConfig(***, DEVICE_LSPCLK_FREQ, SPI_PROT_POL1PHA1,SPI_MODE_MASTER, 1000000, 8);

想向您验证一下想法的正确性。

期待您的回复

谢谢

  • 怎么说呢,这个1000000是指的bit rate,是比特率,跟我们说的baud rate波特率又有点不一样。bit rate可以理解为数据量。

    不过1000000确实单位是bps,也就是每秒发送了1000000bit的数据。

    这样的话我不太确定你说的传输速度到底是指比特率还是波特率的速度。但是例程中似乎没有使用baud rate的设置,也就是这个函数SPI_setBaudRate。

  • 目前在调SD卡的读写程序,需要在初始化的时候降低SPI的波特率,初始化成功之后,再提高SPI通道的速度。