stm32cube配置spi驱动st7735s屏--Apple的学习笔记

一,前言

之前ti的335无法驱动st7735s的0.96寸的屏,其实买家给的code好像我也无法用。等于st7735s的0.96寸的65k彩屏我从来没点亮过。所以我双11买了逻辑分析仪,那么调试和spi的屏应该是比较方便的。

二,点亮st7735s

  1. 先点亮屏幕,证明硬件是正常的
    网上找了code说能点亮,我先尝试了下,它是gpio模拟spi的,确实能点亮,说明屏幕是正常的。
  2. cs,sck,mosi改成spi2.
    结果配置的时候cs无法自动控制,所以改成手工控制。


    image.png
  3. 点不亮屏幕
    哈哈,逻辑分析仪上场了。用控制变量法是我最擅长的调试方法。正常驱动屏幕的波形。


    image.png

    默认为高电平,上升沿,而且是第二沿输出值。所以我改了下。结果依然无法点亮


    image.png

    问题就出在连逻辑分析仪都无法解析。原来是clock默认值为低。gpio初始化的时候是高电平,为什么输出是低电平?我想了下加了个内部上拉电阻,哈哈,输出高电平了。屏幕点亮了,但是为花屏。
  4. 解决花屏
    我又对比了下,write data是16bit的,我连续2个8bit传输,改了下也是花屏。还是看UM吧!um写的是第一个上升沿,clock默认为低电平呢~我又该了spi初始化配置,依然是花屏。再次检查代码,原来是我write data函数中手误rd没有设置为高电平导致的问题。

三,硬件连接

image.png

用spi2驱动的波形,这是21M的8分频。


image.png

改成4分频,spi波特率为5.12M依然正常。不过我理解大部分slave设备能支持5m波特率为上限了,我还是不要弄那么快

四,小结

问题解决咯,靠的就是逻辑分析仪。反正是上升沿就可以,然后write16bit也完全可以用2个8bit的,cs一直为低也不要紧。工欲善其事必先利其器!

你可能感兴趣的:(stm32cube配置spi驱动st7735s屏--Apple的学习笔记)