arduino u8g2库绘制模式详解
Full screen buffer mode
- 绘制速度快
- 所有的绘制方法都可以使用
- 需要大量的ram空间
- 构造器需要带F
- U8G2_ST7920_128X64_F_SW_SPI(rotation, clock, data, cs [, reset])
usage
- 清除缓冲区 u8g2.clearBuffer()
- 操作一些绘制方法
- 发送缓冲区的内容到显示器 u8g2.sendBuffer().
void setup(void) { u8g2.begin(); } void loop(void) { u8g2.clearBuffer(); u8g2.setFont(u8g2_font_ncenB14_tr); u8g2.drawStr(0,20,"Hello World!"); u8g2.sendBuffer(); }
Page mode
- 绘制速度慢
- 所有的绘制方法都可以使用
- 需要少量的ram空间
- 构造器必须带有1或2
U8G2_ST7920_128X64_ 1 _SW_SPI(rotation, clock, data, cs [, reset])
- 调用 u8g2.firstPage()
- 开始一个 do while 循环
- 在循环内部 操作一些绘制方法
- 不断判断 u8g2.nextPage()
- 如何切换为nextpage? 这个判断的nextpage如何使用?????
void setup(void) { u8g2.begin(); } void loop(void) { u8g2.firstPage(); do { u8g2.setFont(u8g2_font_ncenB14_tr); u8g2.drawStr(0,24,"Hello World!"); } while ( u8g2.nextPage() ); }
U8x8 character mode
- 绘制速度快
- 并不是对所有的显示器都有效
- 图形绘制不可用
- 不需要ram空间
使用u8x8构造器
U8X8_ST7565_EA_DOGM128_4W_SW_SPI(clock, data, cs, dc [, reset])
- 所有绘制命令是直接把数据写到显示器
void setup(void) { u8x8.begin(); } void loop(void) { u8x8.setFont(u8x8_font_chroma48medium8_r); u8x8.drawString(0,1,"Hello World!"); }
浙公网安备 33010602011771号