32-SPI通信

软件模拟的SPI和硬件实现SPI(SPI外设)

SPI(串行外设接口)协议

四根通信线:SCK(串行时钟线)  MOSI(Master output slave input)主机输出从机输入       MISO(主机输入从机输出)        SS(从机选择)有时也叫CS            MOSI和MISO有时也叫DO和DI

同步,全双工

 

主机的波特率产生时钟信号,上升沿时,主机将最高位移出,放在MOSI线上。从机也将最高位移出,放在MISO线上。下降沿时,主机和从机都采样,将数据分别读入。    SPI发送数据的本质是主机和从机移位数据交换。

 SPI时序

起始时序:SS由高到低         终止时序:SS由低到高

模式0:在SCK第一个边沿前,还会有一个提前移出数据

 

SPI外设

 数据放入发送缓冲区,然后进入移位寄存器,当发送缓冲区空时,置TXE标志位为1,表示发送缓冲区空了,这时下一个数据就可以放入了。     移位寄存器中的数据从MOSI移出,同时交换的数据从MISO移入,移入的数据整体放到接收缓冲区中,此时置RXNE为1,表示接收缓冲区非空。检查到RXNE为1后,尽快将数据读出。

 

posted @   要是天天吃鱼就好了  阅读(17)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 别再用vector<bool>了!Google高级工程师:这可能是STL最大的设计失误
· 单元测试从入门到精通
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 上周热点回顾(3.3-3.9)
点击右上角即可分享
微信分享提示