当前位置: 首页 > news >正文

u8g2 使用IIC驱动uc1617 lcd 字符显示只显示上半部分,不显示下半部

使用u8g2 使用硬件iic驱动某些page为4个字节 带灰度的lcd显示屏幕的时候有时候只显示上半部,下半部不显示,例如uc1617等。

原因:

以uc1617为例,链接https://github.com/olikraus/u8g2/blob/master/csrc/u8x8_d_uc1617.c

在u8x8_d_uc1617_common方法中的case U8X8_MSG_DISPLAY_DRAW_TILE分支

uint8_t u8x8_d_uc1617_common(u8x8_t *u8x8, uint8_t msg, uint8_t arg_int, void *arg_ptr)
{uint8_t x, y, c, a;uint8_t *ptr;switch(msg){case U8X8_MSG_DISPLAY_DRAW_TILE:u8x8_cad_StartTransfer(u8x8);y = ((u8x8_tile_t *)arg_ptr)->y_pos;y*=2;x = ((u8x8_tile_t *)arg_ptr)->x_pos;x *= 8;x += u8x8->x_offset;u8x8_cad_SendCmd(u8x8, 0x060 | (x&15));u8x8_cad_SendCmd(u8x8, 0x070 | (x>>4)); u8x8_cad_SendCmd(u8x8, 0x00 | (y));#ifdef NOT_REQUIREDu8x8_cad_SendCmd(u8x8, 0xf8 );	/* disable window */u8x8_cad_SendCmd(u8x8, 0xf4 );	/* page start */u8x8_cad_SendCmd(u8x8, y );	u8x8_cad_SendCmd(u8x8, 0xf5 );	/* x start */u8x8_cad_SendCmd(u8x8, x );	u8x8_cad_SendCmd(u8x8, 0xf6 );	/* page end */u8x8_cad_SendCmd(u8x8, y );	u8x8_cad_SendCmd(u8x8, 0xf7 );	/* x end */u8x8_cad_SendCmd(
http://www.lryc.cn/news/376895.html

相关文章:

  • 单片机第五季-第八课:STM32CubeMx和FreeRTOS
  • 【Linux】进程控制1——进程创建和进程终止
  • 计算机图形学入门16:曲线
  • 【Ruby基础01】windows和termux中搭建Ruby开发环境
  • 2406c++,iguana动态反射
  • 干货分享——AB站帮你解决独立站收款难题
  • C++继承与派生
  • Survival Animations
  • Cargo 教程
  • linux中“PXE高效批量装机”
  • emm, ComfyUI的作者从Stability.AI离职了
  • Redis-五种数据结构之列表(ziplist、quicklist)
  • 记一次全设备通杀未授权RCE的挖掘经历
  • 【数据库编程-SQLite3(一)】sqlite3数据库在Windows下的配置及测试
  • YOLOv10改进 | 主干篇 | YOLOv10引入华为VanillaNet替换Backbone
  • C++ 迷宫问题
  • 【Linux】Linux文件系统中主要文件夹列举_作用说明
  • 移植案例与原理 - HDF驱动框架-驱动配置(1)
  • 坚持刷题|反转链表
  • 升级和维护老旧LabVIEW程序
  • sqlite数据库整体迁移进mysql整个流程并解决中文异常问题
  • Hadoop3:MapReduce中的Partition原理及自定义Partition
  • 就因为没在大屏项目加全屏按钮,早上在地铁挨了领导一顿骂
  • STM32学习记录(八)————定时器输出PWM及舵机的控制
  • Vue CLI,Vue Router,Vuex
  • 互联网广告相关概念
  • 如何在服务器上部署一个java程序
  • 白酒:中国的酒文化的传承与发扬
  • 算法金 | 再见!!!梯度下降(多图)
  • python Django安装及怎么检测是否安装成功