本帖最后由 数码小叶 于 2018-3-19 16:52 编辑
距离上一篇帖子隔了很长时间了,中间因为自己要充电,所以时间隔长了。pyBoard这个板子肯定得学习下去啊。
这次主要来加个显示,后面可玩性就大大增加了。考虑到板子这么mini,首先想到了那块0.96寸的OLED 屏幕。
屏幕有三种连接方式:IIC,三线SPI,四线SPI,
板子目前接的是四线SPI方式,所以就用四线SPI驱动吧(这个略bug,每次调整都要焊接4.7K的电阻)。
pyBoard引出了两组IIC和SPI通讯口
板子虽小,接口还是很丰富的。
OLED 屏幕上有7个接线口:GND、VCC、D0(时钟)、D1(数据)、RES(复位)、DC(命令、数据)、CS(片选);
首先要包含ssd1306.py模块进去,打开库里的ssd1306.py
可以看到,这个库是兼容IIC 和SPI模式的,调用不同的函数进行初始化即可。
其实这个ssd1306.py,网上有好几个版本,比如这种
利用参数来判别通讯协议。大概看了三四个版本,区别在于一个是
一个是
那这两个有啥区别呢,继续往里扒
再结合上面,就懂了,这两个一个来自pyb.SPI,一个来自于machine.SPI
到这还没结束,还继续扒官网
一个通用,一个专用的去别,不过这个对这块板子不影响
到这就弄得比较清楚了,还剩一个问题,就可以来连线了,就是SPI1和SPI2的区分,查看pyb.SPI
以参数1、2或x、y来区分。不过还是用0和1比较好,为啥呢,更通用呗
最后效果如下
|