首页 > 代码库 > 【Espruino】NO.09 使用SPI操作Sharp Memory LCD
【Espruino】NO.09 使用SPI操作Sharp Memory LCD
http://blog.csdn.net/qwert1213131/article/details/28693567
本文属于个人理解,能力有限,纰漏在所难免,还望指正!
【小鱼有点电】
【Espruino中文社区】
Sharp memory LCD具有较低的功耗,广泛用于智能手表等低功耗领域。与墨水屏相比,刷新率高,超薄,且外围元件极少,仅三个电容便可工作。Espruino 提供了相应的模块和图形驱动,使用SPI接口,非常方便应用!
本节使用1.28寸128*128分辨率的LS013B7H03,采用3.3V供电。
首先我们需要对SPI接口进行设置,我们使用的引脚为B3(SPI1_SCK)、B5(SPI1_MOSI) 、C4(SCS)、C12(EXTCOMIN),波特率为1M,位顺序为lsb(即低位先发),因此设置如下:
SPI1.setup({ sck:B3, mosi:B5, order: "lsb", baud: 1000000 });然后需要调用MemoryLCD模块:
var g = require("MemoryLCD").connect(SPI1, B4/*SCS*/, C12/*EXTCOMIN*/,128/*宽*/, 128/*高*/);接下来我们就可以对屏幕进行绘制了。
g.clear();//清除缓冲区内容,即清屏 g.drawImage(img, 0, 0);//用于在坐标(0,0)处绘制图像img g.setFontVector(40);//设置字体大小为高40 g.drawString("Temp.",0,50);//在坐标(0,50)处写文字Temp g.drawLine(0,49,g.getWidth(),49);//画横线,其中g.getWidth()用于获取LCD宽度 g.flip();//将缓冲区内容发送到LCD上显示,只有运行了这句话后,上面的操作内容才会显示在屏幕上下面来个综合应用,绘制一个表盘
/*绘制表盘*/ var x,y,a,i; for ( i=1; i<=12; i++ ) { /* 获取角度 */ a = i / 6.0 * Math.PI; /* 计算位置 */ x = 64 - 8 + 55 * Math.sin(a); y = 64 - 8 - 55 * Math.cos(a); /* 将数字写到相对应的地址 */ g.drawString(i, x, y); } g.flip();
视频地址
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。