前提:STM32f103RC (72M),oled接SPI1,MOSI一次传8bit数据
正确波形
软件SPI下,波形很好,CLK8个时钟,MOSI发送完数据,CS再置高
CS过早跳变波形
Q:初期测试时屏幕总点不亮,逻辑分析仪中CS左侧方波是进入SPI写的标志(自定义),但CS在LOW的时间太短,DATA明明没发送完CS就置HIGH
A:个人认为是SPI速度慢,GPIO速度过快导致的?将SPI1 改为2分频,GPIO速度维持2Mhz有后面的修正波形。实测GPIO 50Mhz配2分频SPI1也是可行的,只是SPI1频率不能再低。
修正后波形
注:由于逻辑分析仪带宽限制,部分波形不完整,但不妨碍观察此时CS是等MOSI传完8位数据后再置高
小结
神奇的bug,不知道我分析的对不对,反正能跑就行XD
以及,被吃灰3年的逻辑细分析仪救了一命,感谢当年毕业季淘旧物时强塞给我的学长