有位朋友按芯片手册配置 SPI 模式3,但抓到的数据一直错误。
其实看波形就能直接判断。
通信有一个基本原则:
采样时刻,数据必须稳定,不能跳变!
他的波形里,采样点数据正在跳变,所以模式肯定配错了。
从波形反推:
- 时钟空闲为高电平 → CPOL=1
- 数据在第一个边沿采样 CPHA = 0(原因是第一个跳沿的时候,MISO和MOSI保持稳定不变,第二个沿会变化)
正确模式是:模式2(CPOL=1, CPHA=0)
很多人学嵌入式,一上来就学 STM32,基础却一塌糊涂。
UART、I2C、SPI 必须吃透:背得出来、画得出来、看波形就懂。
高手一分钟定位问题,新手查半小时,效率差距就是这么来的。
先学好 51 单片机,打牢时序基础,后面学什么都快。
此文章引用于金沙滩电子课堂 |