找回密码
 立即注册
楼主: ercircle

AiCube 图形化自动生成程序,TFT-彩屏@Ai8051U, 驱动 ST7735S,ST7739, ST7789

[复制链接]
  • 打卡等级:以坛为家II
  • 打卡总天数:486
  • 最近打卡:2026-03-26 08:54:23
已绑定手机

104

主题

4202

回帖

9327

积分

荣誉版主

无情的代码机器

积分
9327
发表于 前天 08:52 | 显示全部楼层
zhang*** 发表于 2026-3-25 08:44
你好 2.25寸st7789 tft分辨率284*76 。根据你的程序 横屏显示,发现显示到240-255不能正常显示。不知道什么 ...

别的位置呢?异常效果是怎样?修改后得工程上传看看
三天不学习,赶不上刘少奇~
回复

使用道具 举报 送花

  • 打卡等级:以坛为家III
  • 打卡总天数:621
  • 最近打卡:2026-03-26 12:17:09

30

主题

144

回帖

703

积分

高级会员

积分
703
发表于 前天 13:45 | 显示全部楼层
erci*** 发表于 2026-3-25 08:52
别的位置呢?异常效果是怎样?修改后得工程上传看看

你好 早上已经解决问题。原因是定位程序MOVE TO 内面高八位和低八位原因导致的。240-255不正确。256就可以。修改后的程序如下:

void LCD_MoveTo(unsigned int X,unsigned int Y)
{
   if(USE_HORIZONTAL==0 || USE_HORIZONTAL==1)     //竖屏显示
         {
   LCD_CMD(0x2A); LCD_DAT((u8)((X+X_OFFSET)/256)); LCD_DAT((u8)(X+X_OFFSET));  //定X列坐标
   LCD_CMD(0x2B); LCD_DAT((u8)((Y+Y_OFFSET)/256)); LCD_DAT((u8)(Y+Y_OFFSET));  //定Y坐标         
         }
else                                          //横屏显示
  {       
    LCD_CMD(0x2A); //设置X列地址
                LCD_DAT((u8)((X+Y_OFFSET)/256)); //开始X高八位
                LCD_DAT((u8)(X+Y_OFFSET));  //开始低八位
                LCD_DAT((u8)((Width-1+Y_OFFSET)/256));//结束地址高8位
                LCD_DAT((u8)(Width-1+Y_OFFSET));//结束地址低八位

    LCD_CMD(0x2B);//定义行坐标
                LCD_DAT((u8)((Y+X_OFFSET)/256)); //开始Y高八位
                LCD_DAT((u8)(Y+X_OFFSET));   //开始低八位
                LCD_DAT((u8)((Height-1+X_OFFSET)/256)); //结束Y高八位
                LCD_DAT((u8)(Height-1+X_OFFSET));   //结束低八位               
  }       
LCD_CMD(0x2C);//开启准备显示
}
一行刚好显示17个汉字
回复

使用道具 举报 送花

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|手机版|深圳国芯人工智能有限公司 ( 粤ICP备2022108929号-2 )

GMT+8, 2026-3-27 03:16 , Processed in 0.100547 second(s), 48 queries .

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

快速回复 返回顶部 返回列表