话说我的UART还没调试好呢。。。课程又已经到了SPI的学习了,硬着头皮先整吧。前面经过长时间的学习,我们最起码知道了UART协议在使用的时候相对复杂(但老师都说了这是入门级协议),需要设置起始位设置校验位以及停止位,而且数据最多就传输9位(去除校验位)。同时为了保证异步传输的准确性,我们需要让前后byte传输留够间距,如此各种问题叠加后导致UART传输速率大打折扣,且数据宽度受限。那有没有什么更进步的传输方法呢?SPI传输协议,解放了数据宽度的限制,解除异步传输的困扰,看着是不是挺棒的。
UART:
SPI:
分析,SPI是如何实现传输数据宽度不限,没有异步传输困扰的(上图画的不是很严谨,大概清楚相互之间的关系就行)。
首先,数据传输的时候没有了校验位、起始位、停止位这些限制,所以单组数据本身可以很长了。这点从上图的对比就可以看出来了。此外,master和slave数据传输的时候使用的是同一个SCLK,