【ESP8266学习笔记】ESP8266驱动MAX7219点阵

最近事比较多,没啥心思折腾手头的模块,这两天忙里偷闲,琢磨了一下ESP8266怎么驱动MAX7219芯片的8*8点阵的问题,之前在Arduino上有现成的库可以使用,ESP8266倒是没搞过,度娘查了一下资料,似乎有用于这个的spi库,看了一下,没看明白怎么用,直接放到项目中,编译报错,算了吧,这芯片似乎也不是太复杂,貌似自己写一个也不会很复杂。

百度了一下,ESP8266采用SDK方式驱动点阵的例子似乎不是很多,大多是用51单片机驱动8位数码管的,还好8266的程序跟51的差不多,既然没有现成的就自己照个改一个呗。改代码首先要弄懂元件的工作原理,起码基本的程序运行原理需要了解。百度了一下,关于芯片原理方面的资料很多,但是貌似都不太好懂,基本了解了一下,原理应该跟74HC595这类拓展IO口的芯片一样,之前有搞过Arduino的IO拓展,对这类芯片大概也有一定的了解,大家也可以参考这篇文章《树莓派GPIO入门09-使用MAX7219芯片驱动8位数码管》虽然文章写的是树莓派全动8位数码管的,但是里面对于MAX7219这块芯片的描述我觉得写得还是比较易懂的,对于了解芯片工作原理帮助很大。

MAX7219是串行输入输出的,只要三个iO口就能拓展多路输出,适用于8266这种IO口比较少又要连接多引脚的设备,这里对于芯片的工作原理就不再详细阐述了,大家可以看我上面介绍的那篇文章。既然懂了原理那就开干了,51的代码网上有很多可以参考,我这里参考的是这位仁兄的帖子《MAX7219驱动8*8点阵开头和结尾全红》,程序写完了我才发现原来这篇帖子是问题贴,不是技术贴,毕竟他这个应该是用在51单片机上的,要用在8266上,部分代码还需要适配,比如数据类型很多就对不上了。经过多次修改、编译、调试、刷写、测试,这里的艰辛搞过的兄弟应该都清楚,具体的过程就略过了,我也把这个直接写成了类库,要用的弟兄只要吧库放到项目目录就可以编译使用了,这里直接把干货献给大伙吧,希望对大伙有用。


库及案例下载地址


你可能感兴趣的:(单片机,硬件,实验手札,esp8266)