改了一个Arduino用的快速LCD5110库 (2016-09-21 09:21:56)

以前下载过一个LCD5110的库,里面写5110用的是软件方法。前段时间刚了解了AVR下SPI的硬件调用,回过头看到这个库,正好试试硬件比软件的速度快多少。

简单的修改就是直接使用了Arduino里面的SPI.transfer来传送数据。引脚方面的话,需要使用Arduino的MOSI和SCK脚来连接5110的DIN脚和CLK脚,其他脚随意接。

效果比较显著,速度快了5倍。举例来说,LCD5110::update是将整个屏幕数据全部刷新一次。以前用软件的方法需要15ms,现在用SPI只用了3ms。那么是不是可以用5110来做游戏了呢?实际上效果不好,因为响应速度问题,刷得频率太高,画面反而看不清了。

修改了_LCD_Write和update方法。

代码从这下载

测试代码如下:

LCD5110 myGLCD(13,11,3 ,4,2);

extern uint8_t SmallFont[];

void setup() {

 // put your setup code here, to run once:

 SPI.begin();

 myGLCD.InitLCD();

}

int i = 1;

void loop() {

 // put your main code here, to run repeatedly:

 myGLCD.clrBack();

 myGLCD.drawRect(i, 5, i + 5, 20);

 if (++i > 84) i = 1;

 myGLCD.update();

 delay (30); //这里不延迟下,会快的看不到

}

你可能感兴趣的:(改了一个Arduino用的快速LCD5110库 (2016-09-21 09:21:56))