STM32硬件SPI驱动OLED中CS过早跳变问题记录

前提:STM32f103RC (72M),oled接SPI1,MOSI一次传8bit数据

正确波形

软件SPI下,波形很好,CLK8个时钟,MOSI发送完数据,CS再置高
软件SPI

CS过早跳变波形

Q:初期测试时屏幕总点不亮,逻辑分析仪中CS左侧方波是进入SPI写的标志(自定义),但CS在LOW的时间太短,DATA明明没发送完CS就置HIGH

A:个人认为是SPI速度慢,GPIO速度过快导致的?将SPI1 改为2分频,GPIO速度维持2Mhz有后面的修正波形。实测GPIO 50Mhz配2分频SPI1也是可行的,只是SPI1频率不能再低。

128分频下SPI

修正后波形

注:由于逻辑分析仪带宽限制,部分波形不完整,但不妨碍观察此时CS是等MOSI传完8位数据后再置高
修正后

小结

神奇的bug,不知道我分析的对不对,反正能跑就行XD
以及,被吃灰3年的逻辑细分析仪救了一命,感谢当年毕业季淘旧物时强塞给我的学长

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值