本帖最后由 chenmmmm888 于 2016-12-21 23:12 编辑
新手上路~~,第一次发帖。感谢各位大神在百忙中抽时间回答我的问题
我用的是Arduino pro mini 5V16Mhz 的板做调试,最近在研究Nokia5110液晶屏(84*48矩阵)的使用。。根据Arduino playground提供的例已成功输出英文字。并且参考其中原理成功写出了能够输出一张图片的函数。其中字库和单张图片都是利用PROGMEM写入到FLASH中以节省内存。图片是以byte类型的一维数组的形式储存。
现在想更进一步写入多张图片,并且用一个变量来选择其中一张。参考PROGMEM给出的范例,我分别把多张图片以byte类型的一维数组的形式储存后,再用一个一维数组来引用,组成一个二维数组。再进行测试的时候发现只有最后写入的那张图片能够成功显示,其他均为乱码。
我就把那段函数单独抽出来做测试。用两个数组代替图片,把读取到的数据通过串口输出,然后发现了个问题。当两个一维数组大小为5、50、129时都能够正常输出。当数组到200的时候(实际哪个是临界点没测出来),输出的数据就变了。
先贴下代码
[mw_shl_code=c,true]
#include
const byte NOKIA_IMG[129] PROGMEM={0x00,0xFE,0xFE,0xFE,0xFE,0xFE,0xF8,0xE0,0x80,0x00,0x00,0x00,0xFE,0xFE,0xFE,0xFE,
0xFE,0x00,0x00,0x80,0xF0,0xF8,0xFC,0xFC,0x3E,0x1E,0x0E,0x0E,0x1E,0x3E,0xFC,0xFC,
0xF8,0xF0,0x80,0x00,0x00,0xFE,0xFE,0xFE,0xFE,0xFE,0x00,0x80,0xE0,0x