我用ST的SPI做从机(从机发送) 与 CD盒做主机(主机接受数据) 通信,
其中 ST 每间隔固定时间 通知 CD合 产生CLK,数据发送完成后 告知CD停止CLK,发现ST发出的数据 与 看到的波形不相符。
ST的 SPI分频到最低 30KHZ,而CD主机产生的CLK的频率只有1.25KHZ。
看到的现象是 8个CLK还没完成,一个字节数据却发送结束。
1. 什么情况,SPI做从机时CLK配置是无效的,真的是时钟不同步吗?
后来用ST的内部时钟 128KHZ,将ST的SPI分频到1KHZ,发现还有这样的现象,
发送的数据 与波形始终不相等。
软件上步骤(查询) :
0。 SPI_ENABLE;
1。 写SPI_DR=TX_data1;
2。 产生 CLK;
3。 等待发送结束
4. SPI_DISABLE; |