zhang32568 发表于 2026-3-25 08:44
你好 2.25寸st7789 tft分辨率284*76 。根据你的程序 横屏显示,发现显示到240-255不能正常显示。不知道什么 ...
别的位置呢?异常效果是怎样?修改后得工程上传看看
ercircle 发表于 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个汉字
楼主能不能出一个LCD的驱动案例,基于QSPI液晶接口的屏幕,要是可以最好了,求求了。
点评
拉布拉斯 发表于 2026-3-30 08:31
楼主能不能出一个LCD的驱动案例,基于QSPI液晶接口的屏幕,要是可以最好了,求求了。
点评 ...
牛牛牛B
拉布拉斯 发表于 2026-3-30 08:31
楼主能不能出一个LCD的驱动案例,基于QSPI液晶接口的屏幕,要是可以最好了,求求了。
点评 ...
测试qspi屏可以点亮,目前有个小缺陷,需要多用一个独立io控制CS:
QSPI屏驱IC:CO5300AF-51
QSPI触控IC:CST9217
例程IO分布:
独立CS:P1.6
选择QSPI数据口: NCS(P1.2), IO0(P1.3), IO1(P1.4), IO2(P1.1), IO3(P1.0), CLK(P1.5)
选择I2C1数据口: SCL(P2.5), SDA(P2.4)
1043
ercircle 发表于 2026-4-9 23:28
测试qspi屏可以点亮,目前有个小缺陷,需要多用一个独立io控制CS:
AI8051U可以测试一下?
拉布拉斯 发表于 2026-4-10 17:27
AI8051U可以测试一下?
使用AiCube的接口,代码基本一致,拷贝到8051U的工程就行。
注意IO切换,以及对应的io模式更改
ercircle 发表于 2026-4-10 17:45
使用AiCube的接口,代码基本一致,拷贝到8051U的工程就行。
注意IO切换,以及对应的io模式更改
如果不是使用你这一块屏幕,代码需要修改哪里,我的液晶是NV3030B,320*172
拉布拉斯 发表于 2026-4-14 15:05
如果不是使用你这一块屏幕,代码需要修改哪里,我的液晶是NV3030B,320*172
一般改屏幕初始化部分,找卖家要初始化和指令示例
ercircle 发表于 2026-4-14 15:16
一般改屏幕初始化部分,找卖家要初始化和指令示例
原点坐标不对怎么设置,还有怎么手动配置AICUBE,我在尝试使用stc8051u-34k64配置qspi,但是不知道配置步骤。