该文章是继上一篇《arduino due 气象站 at24c w25q esp8266 源程序》后续
众多网友反映due板子大财小用非常昂贵,所以我做出了低容量单片机显示大量图片解决办法,可使你的项目“瘦身”
增加一条函数
- void drawBitmap_low_memory(int adress_r,int size_r,int bitmap_x,int bitmap_y,int size_bitmap_x,int size_bitmap_y){
- int x=0,y=0; //打印图片 -> 你的图片存储器起始地址(目前仅限于spi闪存芯片),图片的大小(长*宽,rgb565),图片位置x,图片位置y,图片长,图片宽(低内存占用,不需预先定义数组)
- x=bitmap_x;
- y=bitmap_y;
- bitmap_x=bitmap_x-1;
- for(int i=adress_r;i<adress_r+(size_r*2);i+=2){
- byte high = flash.readByte(i-1);
- byte low = flash.readByte(i);
- int uint=(uint16_t)(high<<8)|low;
- Serial.print(high);Serial.print("|");Serial.print(low);
- Serial.print("|");Serial.print(uint);
- Serial.println("");
- bitmap_x=bitmap_x+1;
- if(bitmap_x==size_bitmap_x+x){
- bitmap_x=x;
- bitmap_y=bitmap_y+1;
- }
- Serial.print(uint);Serial.print("/");Serial.print(bitmap_x);Serial.print("/");Serial.print(bitmap_y);
- Serial.println("");
- //以下两句话移植时请注意
- myGLCD.setColor(uint);//rgb565颜色
- myGLCD.drawPixel(bitmap_x,bitmap_y);//画像素 自上到下 从左到右 扫描
- }
- }
复制代码 使用这个只需简单更改就可以是“我”上一个帖子的内容运行在avr等板卡,此外需注意 片内rtc,和一个简单的任务调度器只能运行在arm架构,移植时请注意
以下内容只在原基础增加如上程序框中内容,已下载第2版,1版程序的朋友可以直接复制粘贴,不需多次下载
请打开——24c程序向spi存储器写入图片信息
请手动添加1~38 .c到项目
随后上传TFT到开发版,请按照第一页注释连接线路
蓝牙模块串口2
esp8266 串口3
spi iic通用总线
tft esp8266.7z
(5.41 MB, 下载次数: 18)
|