u8g2使用sendbuffer文字底部显示不全,只能显示半行文字
使用 显示 文字 只能 底部 不全
2023-06-13 09:18:47 时间
如图只能显示一行文字,而且这行文字底部也是缺少的
代码是这样的
U8G2_SSD1306_128X64_NONAME_1_HW_I2C u8g2(U8G2_R0, /* reset=*/ U8X8_PIN_NONE);
//U8G2_SSD1306_128X64_NONAME_1_SW_I2C u8g2(U8G2_R0, /* clock=*/ SCL, /* data=*/ SDA, /* reset=*/ U8X8_PIN_NONE); // All Boards without Reset of the Display
void setup(void) {
u8g2.begin();
u8g2.setFont(u8g2_font_ncenB08_tr); // choose a suitable font
}
void loop(void)
{
u8g2.clearBuffer(); // clear the internal memory
for (int i = 1; i < 7; i++)
{
u8g2.drawStr(0, 10 * i, "Hello World!"); // write something to the internal memory
}
u8g2.sendBuffer(); // transfer internal memory to the display
delay(1000);
}
在使用page显示模式时是正常的,只有使用sendbuffer的时候有这样的问题
原因
没有启动全局刷新功能 这个结构的每个字符都是有用的这里到1表示按页存储到ram中 U8G2_SSD1306_128X64_NONAME_1_HW_I2C u8g2
将这里的1改成F就可以显示全部了
U8G2_SSD1306_128X64_NONAME_F_HW_I2C u8g2(U8G2_R0, /* reset=*/ U8X8_PIN_NONE);
结果
修改后
U8G2_SSD1306_128X64_NONAME_F_HW_I2C u8g2(U8G2_R0, /* reset=*/ U8X8_PIN_NONE);
//U8G2_SSD1306_128X64_NONAME_F_SW_I2C u8g2(U8G2_R0, /* clock=*/ SCL, /* data=*/ SDA, /* reset=*/ U8X8_PIN_NONE); // All Boards without Reset of the Display
void setup(void) {
u8g2.begin();
u8g2.setFont(u8g2_font_ncenB08_tr); // choose a suitable font
}
void loop(void)
{
u8g2.clearBuffer(); // clear the internal memory
for (int i = 1; i < 7; i++)
{
u8g2.drawStr(0, 10 * i, "Hello World!"); // write something to the internal memory
}
u8g2.sendBuffer(); // transfer internal memory to the display
delay(1000);
}
能够显示全了
但是ram占用也来到了70%
Advanced Memory Usage is available via "PlatformIO Home > Project Inspect"
RAM: [======== ] 76.6% (used 1568 bytes from 2048 bytes)
Flash: [=== ] 30.4% (used 9792 bytes from 32256 bytes)
Building .pio/build/uno/firmware.hex
相关文章
- javascript使用cookie实现DIV提示框只显示一次的方法
- eclipse离线安装svn插件使用教程_eclipse不显示svn插件
- Linux-使用Consul
- 如何使用Excel将某几列有值的标题显示到新列中
- 国内使用ChatGPT的方法
- WordPress 技巧:在后台页面列表显示使用的页面模板
- WordPress 技巧:使用下拉菜单方式显示分类列表
- iOS—正确使用NSNotification对象详解手机开发
- 使用EHCache对页面进行缓存详解编程语言
- MySQL入门指南:学习使用MySQL快速上手(mysql使用入门教程)
- 原型机显示苹果公司曾考虑在初代Apple Watch上使用陶瓷材质
- 使用JSP访问MySQL数据库(jsp访问mysql)
- 树莓派使用入门:树莓派上的模拟器和原生 Linux 游戏
- Fedora 21将使用GNOME 3.14采用Wayland作为默认显示服务器
- 使用红帽Linux远程桌面开启新世界(红帽linux远程桌面)
- 使用容器实现MSSQL的高可用性(mssql用容器做高可用)
- oracle深入拓展学习Oracle数据库与CXOracle库的结合使用(oracle cx_)
- 元素未显示设置width/height时IE中使用currentStyle获取为auto