st7735s驱动详解(st7032驱动程序)

st7735s驱动详解(st7032驱动程序)nbsp nbsp nbsp nbsp nbsp nbsp WS2812B 是一款贴片 RGB 灯 由于采用了单总线通讯 所以需要特别关注下它的通讯时序 nbsp nbsp nbsp nbsp nbsp 调试细节 nbsp nbsp nbsp

大家好,我是讯享网,很高兴认识大家。



       WS2812B是一款贴片RGB灯。由于采用了单总线通讯,所以需要特别关注下它的通讯时序。

esp32驱动st7735s esp32驱动ws2812_初始化
讯享网

esp32驱动st7735s esp32驱动ws2812_学习_02

调试细节:

       本来以为会是一个比较简单的调试,结果还是花了很长时间才调试完成。

       首先是关于ESP32的纳秒级延时确定,当时按照空指令始终调试不出来。之前在STM32平台上的nop()函数也不知道怎么用。

       后来发掘出了一个比较简单的办法。就是一个个试,然后在main函数中按照1S的频率打印调试信息来倒推ns级别的延时是否可靠。

注意:在ESP32不能使用空语句加;来进行空指令延时,需要使用操作语句。

        然后在main函数中按照1S的频率打印调试信息:

       基本确定了ns级别延时后,就可以按照时序来写ws2812的驱动函数啦。

ESP32的IO口没有进行初始化配置!

       配置完IO口就可以进行WS2812B驱动啦。不过还是出现了一些小bug,比如初始化第一次点灯,绿色灯珠总是会不受控制地自动点亮!后来发现在IO初始化函数前预先执行一次点亮指令就可以消除这个bug!Nice!

       

       至此,ESP32对于WS2812B的驱动函数就调试完成啦。

       对于这个说起来简单但是异常曲折的小demo项目积累了如下经验:

      1.ESP32的IO也是需要进行初始化配置的。

      2.MCU的单指令确实能够进行粗略的ns级延时,为后续调试一些芯片时序提供了新的方法。

      3.ESP32的GPIO8需要使用一个10K电阻上拉3.3V,否则无法进行程序下载。

2023-05-04 细节补充

      1.在后续demo项目完善该驱动时,发现会出现初始化后,在别处点灯时,依然会出现亮出绿灯现象。

     后来增加了灯珠的复位函数:

       然后初始化变更为:

       如果需要在别的函数位置电灯,择执行以下函数即可,亲测有效。

小讯
上一篇 2025-05-05 12:29
下一篇 2025-05-22 12:05

相关推荐

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容,请联系我们,一经查实,本站将立刻删除。
如需转载请保留出处:https://51itzy.com/kjqy/192578.html