[其它] 【pyBoard试用】四:SPI驱动OLED 屏幕

[复制链接]
523|3
 楼主 | 2018-3-19 16:48 | 显示全部楼层 |阅读模式
本帖最后由 数码小叶 于 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,网上有好几个版本,比如这种


利用参数来判别通讯协议。大概看了三四个版本,区别在于一个是
  1. import framebuf
复制代码

一个是
  1. import pyb
复制代码

那这两个有啥区别呢,继续往里扒







再结合上面,就懂了,这两个一个来自pyb.SPI,一个来自于machine.SPI
到这还没结束,还继续扒官网






一个通用,一个专用的去别,不过这个对这块板子不影响

到这就弄得比较清楚了,还剩一个问题,就可以来连线了,就是SPI1和SPI2的区分,查看pyb.SPI
以参数1、2或x、y来区分。不过还是用0和1比较好,为啥呢,更通用呗


最后效果如下









本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x
| 2018-6-20 15:11 | 显示全部楼层
有没有具体的连线和程序啊
 楼主 | 2018-6-20 20:47 | 显示全部楼层
yangye2018 发表于 2018-6-20 15:11
有没有具体的连线和程序啊

连线不是已经很详细了么
扫描二维码,随时随地手机跟帖
您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复

您需要登录后才可以回帖
登录 | 注册
高级模式
我要创建版块 申请成为版主

论坛热帖

关闭

热门推荐上一条 /4 下一条

快速回复 返回顶部 返回列表