官方资料
说明手册:GDEH0154D67specf3d5.pdf (e-paper-display.cn)
官网:1.54寸黑白单色电子纸显示屏 200x200分辨率电子墨水屏 GDEH0154D67,黑白电子纸屏,电子墨水屏-大连佳显 (e-paper-display.cn)
驱动代码来源:桌面小屏幕实战课程资料文档_持续更新ing - 飞书云文档 (feishu.cn)
驱动代码来源于小智学长,直接搬运过来就能用了。
命令说明
- 0x24写黑白,写白1,写黑0
- 0x26写红/黑白,写红1,写黑白0
调试记录
局部刷新
-
单使用局部刷新效果如图,颗粒感很多,效果很差
-
如果使用全局刷新,再次使用局部刷新效果会好很多
代码分析:
-
全刷新的代码使用0x26发送了想要刷新的数据
-
那我也在局部刷新添加想要刷新的数据,修改如下
//局部刷 带数据
void ds_screen_partial_display_bydata(unsigned int x_start,unsigned int y_start,
void partial_new(const uint8_t *data),const uint8_t *new_data,
unsigned int PART_COLUMN,unsigned int PART_LINE){
//...................
spi_send_cmd(0x24); //Write Black and White image to RAM
partial_new(new_data);
spi_send_cmd(0x26);//新增
partial_new(new_data);
}
-
得到的效果如下
-
颗粒感少了很多,但是显示颜色太淡了,还是不太对劲,再改改,给他全部写0xff试试
//局部刷 带数据 void ds_screen_partial_display_bydata(unsigned int x_start,unsigned int y_start, void partial_new(const uint8_t *data),const uint8_t *new_data, unsigned int PART_COLUMN,unsigned int PART_LINE){ //................... spi_send_cmd(0x24); //Write Black and White image to RAM partial_new(new_data); spi_send_cmd(0x26);//修改 for(i=0;i<192;i++){ spi_send_data(0xff); } }
-
这次的效果就正常很多了,但是下一次刷新有水印,算了不折腾了。