【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();

视频地址

【Espruino】NO.09 使用SPI操作Sharp Memory LCD

时间: 2024-10-12 02:24:52

【Espruino】NO.09 使用SPI操作Sharp Memory LCD的相关文章

STM32F10X SPI操作flash MX25L64读写数据(转)

源:STM32F10X SPI操作flash MX25L64读写数据 前一段时间在弄SPI,之前没接触过嵌入式外围应用,就是单片机也只接触过串口通信,且也是在学校的时候了.从离开手机硬件测试岗位后,自己一直想在嵌入式方面发展,在1月4号开始自己的第二份工作后,首先接触到的是为STM32F103写SPI控制flash读写操作,现记下曾经的脚印,希望以后能少走弯路!心得:细心活! 简单的一种应用,ARM芯片作为master,flash为slaver,实现单对单通信.ARM主控芯片STM32F103,

Am335x 应用层之SPI操作

SPI接口有四种不同的数据传输时序,取决于CPOL和CPHL这两位的组合.图1中表现了这四种时序, 时序与CPOL.CPHL的关系也可以从图中看出. 图1 CPOL是用来决定SCK时钟信号空闲时的电平,CPOL=0,空闲电平为低电平,CPOL=1时, 空闲电平为高电平.CPHA是用来决定采样时刻的,CPHA=0,在每个周期的第一个时钟沿采样, CPHA=1,在每个周期的第二个时钟沿采样. 经由上面我们就可以比对实际设备的时序来对SPI的MODE进行配置了. 找到头文件里的SPI mode的一定义

前端09 /jQuery标签操作、事件、补充

目录 前端09 /jQuery标签操作.事件.补充 1.标签内文本操作 1.1 html标签元素中的所有内容 1.2 text 标签元素的文本内容 2.文档标签操作 2.1值操作 2.2插入标签 2.3 删除标签 remove.detach和empty 2.4 (替换)修改标签 replaceWith和replaceAll 2.5 克隆标签 clone 3.属性操作 3.1 attr() 设置属性值.者获取属性值 3.2 removeAttr() 移除属性 3.3 prop() 4.class类

分页型Memory LCD显存管理与emWin移植

上一篇随笔整理了一下逐行扫描型Memory LCD的显存管理与emWin移植,这篇就整理一下分页型Memory LCD显存管理与emWin移植. //此处以SSD1306作为实例 //OLED的显存//存放格式如下.//[0]0 1 2 3 ... 127    //[1]0 1 2 3 ... 127    //[2]0 1 2 3 ... 127    //[3]0 1 2 3 ... 127    //[4]0 1 2 3 ... 127    //[5]0 1 2 3 ... 127  

【Espruino】NO.10 数字温度传感器DS18B20

http://blog.csdn.net/qwert1213131/article/details/28845147 本文属于个人理解,能力有限,纰漏在所难免,还望指正! [小鱼有点电] [Espruino中文社区] DS18B20是很常用的数字温度传感器,供电范围为3.0V到5.5V,测温范围为-55~+125℃,在-10~+85℃范围内精度为+-0.5℃,每个器件都有唯一的64为序列号存储在内部存储器中,因此在一根总线上可以挂载多个器件,且独特的单线接口方式,使得DS18B20与微控制器连接

ADXL345经验总结,采用SPI和I2C总线操作

一. ADXL345简介 ADXL345是ADI公司推出的三轴(x,y,z)iMEMS数字加速度计(digital accelerometer),具有在16G下高分辨率(13Bit)测量能力,同时具备16Bit数字输出.ADXL345 适用于静态倾角测量以及动态加速度测量,高达4mg/LSB的灵敏度允许测量小于1度的倾角. 该传感器还具备单击 /双击探测,自由落体探测,并允许用户设置一个加速度阀值,当加速度值超过设定阀值后可以产生一个信号输出.所有这些功能都可以映射到2个中断上.内置的32级FI

【Espruino】NO.16 使用VS1003播放音乐

http://blog.csdn.net/qwert1213131/article/details/37512497 本文属于个人理解,能力有限,纰漏在所难免,还望指正! [小鱼有点电] [Espruino中文社区] 想当年mp3正起步的时候,好几百的软妹币买的mp3播放器连个屏幕都没有,简直就是享受啊,现在这东西满大街都是,倒是不稀罕了,但是自己做个mp3玩玩应该还是比较有乐趣的吧.本文引用的VS1003是一个多功能的MP3和WMA解码芯片,它来自芬兰VLSI半导体公司,功能强大但价格便宜,并

Off-heap Memory in Apache Flink and the curious JIT compiler

https://flink.apache.org/news/2015/09/16/off-heap-memory.html   Running data-intensive code in the JVM and making it well-behaved is tricky. Systems that put billions of data objects naively onto the JVM heap face unpredictable OutOfMemoryErrors and

SPI总线协议及SPI时序图详解

SPI,是英语Serial Peripheral Interface的缩写,顾名思义就是串行外围设备接口.SPI,是一种高速的,全双工,同步的通信总线,并且在芯片的管脚上只占用四根线,节约了芯片的管脚,同时为PCB的布局上节省空间,提供方便,正是出于这种简单易用的特性,现在越来越多的芯片集成了这种通信协议.SPI是一个环形总线结构,由ss(cs).sck.sdi.sdo构成,其时序其实很简单,主要是在sck的控制下,两个双向移位寄存器进行数据交换. 上升沿发送.下降沿接收.高位先发送.上升沿到来