串行外设接口(Serial Peripheral Interface,SPI)是Freescale公司推出的一种同步串行通信接口。今天才知道,用了那么久的SPI竟然是Freescale公司开发的。想当初用51模拟SPI的时候,还一个劲地报怨谁把这么复杂的东西开发出来。
KL25内部有两个SPI模块,SPI0用的时钟源是总线时钟,SPI1的时钟源是系统时钟。书上有一个表,来表示引脚的复用。我表示这样利用率比较高,配置起来真复杂,效率也有点低。
为什么SPI模块的寄存器是8位的?寄存器不应该是32位的吗?这样做的原因是什么?如果用32位寄存器,不是一个寄存器就搞定了,多节省空间。
当把初始化函数,使能和关闭函数,发送和接收函数写完之后,一起封装起来。就可以非常方便地使用了。一次麻烦,换来的是无穷的便捷。可是我们在用的时候,还是比较麻烦的,我们最好还要给写一套协议,让SPI来得更为简单,更为方便,就跟我们现在上网一样,虽然我们上网的时候,在底层传输数据的复杂性让我不敢想像,可是我们用的时候却是无比的方便。不知道现在有没有必要为SPI写一套这样的协议,还是已经有了现在的协议。 |