关于u8g2使用的问题。
我的环境是arm-linux下使用u8g2在lcd上显示信息(ps:都上了linux了为啥还用lcd,我也不知道 摊手)
我所用的lcd驱动ic是ST7567,根据数据手册的描述CMD字节是0xC0 data字节是0X80,可是命令行打印出来的数据发现,CMD变成了0x0,Data变成了0x40。我网上找回调函数,没找到在哪里修改这个字节。请问大家有知道的吗?
如图
关于u8g2使用的问题。
- 写回答
- 好问题 0 提建议
- 追加酬金
- 关注问题
- 邀请回答
-
1条回答 默认 最新
关注 引自强大而免费的微信小程序:皆我百晓生。
在u8g2库中,可以通过设置
U8G2_ST7567_C0
和U8G2_ST7567_80
来指定命令和数据的字节值。默认情况下,这些值已经被设置为正确的值。如果你发现CMD和Data的字节值错误,可能是因为你使用的u8g2库版本不正确或者你没有正确配置lcd驱动。首先,确保你使用的是最新版本的u8g2库,可以从u8g2的官方Github仓库中下载最新的版本。然后,在你的代码中,可以使用如下代码来修改CMD和Data的字节值:
u8g2_Setup_st7567_p_132x64_1(&u8g2, U8G2_R0, u8x8_byte_linux_hw_spi, u8x8_linux_hw_spi_gpio_and_delay); // 替换为你的设备型号和通信方式 u8x8_SetI2CAddress(&u8g2.u8x8, 0x78); // 替换为你的IC的I2C地址 u8g2_SetContrast(&u8g2, 128); u8g2.u8x8.conn.log_level = U8X8_LOG_LEVEL_ERROR; u8g2.u8x8.conn.cmd_byte = 0xC0; // 替换为正确的CMD字节值 u8g2.u8x8.conn.data_byte = 0x80; // 替换为正确的Data字节值 u8g2_InitDisplay(&u8g2);
在这段代码中,通过修改
u8g2.u8x8.conn.cmd_byte
和u8g2.u8x8.conn.data_byte
来设置CMD和Data的字节值。另外,你可以查看u8g2库的文档和示例代码,以了解更多关于修改CMD和Data字节值的方法。
解决 无用评论 打赏 举报
悬赏问题
- ¥30 关于用python写支付宝扫码付异步通知收不到的问题
- ¥50 vue组件中无法正确接收并处理axios请求
- ¥15 隐藏系统界面pdf的打印、下载按钮
- ¥15 MATLAB联合adams仿真卡死如何解决(代码模型无问题)
- ¥15 基于pso参数优化的LightGBM分类模型
- ¥15 安装Paddleocr时报错无法解决
- ¥15 python中transformers可以正常下载,但是没有办法使用pipeline
- ¥50 分布式追踪trace异常问题
- ¥15 人在外地出差,速帮一点点
- ¥15 如何使用canvas在图片上进行如下的标注,以下代码不起作用,如何修改