打印
[其它]

【pyBoard试用】四:SPI驱动OLED 屏幕

[复制链接]
3170|3
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
本帖最后由 数码小叶 于 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,网上有好几个版本,比如这种


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

一个是
import pyb

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







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






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

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


最后效果如下









相关帖子

沙发
yangye2018| | 2018-6-20 15:11 | 只看该作者
有没有具体的连线和程序啊

使用特权

评论回复
板凳
数码小叶|  楼主 | 2018-6-20 20:47 | 只看该作者
yangye2018 发表于 2018-6-20 15:11
有没有具体的连线和程序啊

连线不是已经很详细了么

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

103

主题

2536

帖子

19

粉丝