找回密码
 立即注册
楼主: 智***

用STC32G144K246的63例程 | 已解决,取模软件,新旧风格

[复制链接]
  • 打卡等级:以坛为家II
  • 打卡总天数:586
  • 最近打卡:2026-07-04 12:34:03
已绑定手机

112

主题

4958

回帖

1万

积分

荣誉版主

无情的代码机器

积分
10758
发表于 2026-5-26 09:58:24 | 显示全部楼层
智**** 发表于 2026-5-26 09:51
这我不知在那改,请指点这是ST32G144246的63例程,不存在你说的吧?


截图202605260957309597.jpg
截图202605260958122291.jpg


你先检查初次读取后初值是什么,和写入内容是否匹配


三天不学习,赶不上刘少奇~
回复

使用道具 举报 送花

  • 打卡等级:以坛为家I
  • 打卡总天数:388
  • 最近打卡:2026-07-05 07:53:50

24

主题

54

回帖

1050

积分

金牌会员

积分
1050
发表于 2026-5-26 10:21:58 | 显示全部楼层
不明你说的,我发给你看
截图202605261021378699.jpg

点评

这为什么会不明白呢?不明白说明没通读程序,理解程序逻辑? 初始读的256字节就是你flash写入的文件列表头嘛,你这数量明显读取不对,都没写入文件分频表 [attachimg]138217[/attachimg]  详情 回复 发表于 2026-5-26 15:48
回复

使用道具 举报 送花

  • 打卡等级:以坛为家II
  • 打卡总天数:586
  • 最近打卡:2026-07-04 12:34:03
已绑定手机

112

主题

4958

回帖

1万

积分

荣誉版主

无情的代码机器

积分
10758
发表于 2026-5-26 15:48:10 | 显示全部楼层
智**** 发表于 2026-5-26 10:21
不明你说的,我发给你看

这为什么会不明白呢?不明白说明没通读程序,理解程序逻辑?
初始读的256字节就是你flash写入的文件列表头嘛,你这数量明显读取不对,都没写入文件分频表

截图202605261547395827.jpg

三天不学习,赶不上刘少奇~
回复

使用道具 举报 送花

  • 打卡等级:以坛为家I
  • 打卡总天数:388
  • 最近打卡:2026-07-05 07:53:50

24

主题

54

回帖

1050

积分

金牌会员

积分
1050
发表于 2026-5-27 10:30:01 | 显示全部楼层
大家好,出现花屏是那问题
截图202605271029246795.jpg
2.jpg

点评

先把上面初始值搞对,花屏可能是像素错位,读取错位  详情 回复 发表于 2026-5-27 10:54
回复

使用道具 举报 送花

  • 打卡等级:以坛为家II
  • 打卡总天数:586
  • 最近打卡:2026-07-04 12:34:03
已绑定手机

112

主题

4958

回帖

1万

积分

荣誉版主

无情的代码机器

积分
10758
发表于 2026-5-27 10:54:08 | 显示全部楼层
智**** 发表于 2026-5-27 10:30
大家好,出现花屏是那问题

先把上面初始值搞对,花屏可能是像素错位,读取错位
三天不学习,赶不上刘少奇~
回复

使用道具 举报 送花

  • 打卡等级:以坛为家I
  • 打卡总天数:388
  • 最近打卡:2026-07-05 07:53:50

24

主题

54

回帖

1050

积分

金牌会员

积分
1050
发表于 2026-5-27 11:19:30 | 显示全部楼层
读出的文件分配表(256)是对的,各张图片的不知是否565格式,现在该怎木查

回复

使用道具 举报 送花

  • 打卡等级:以坛为家III
  • 打卡总天数:815
  • 最近打卡:2026-07-05 00:08:16

43

主题

524

回帖

4844

积分

荣誉版主

积分
4844
发表于 2026-5-27 14:31:33 | 显示全部楼层
先用一下排除法

1、根据对正常图片进行反色,观察颜色跟你的显示效果不符合,所以屏幕反色设置可能性排除
截图202605271233335625.jpg

2、根据显示效果,存在花屏、全白、错位、偶尔颜色正常等现象,猜测是读取数据环节出现状况

图片数据都保存在W25Q芯片里,而W25Q在驱动异常的时候,读到的数据会是0xFF。
假如有一大段时间都读取异常,就跟时常出现的白屏(全部0xFF)符合了。

并且,由于花屏的时候依旧能够构成“准确”的轮廓,猜测是有规律地丢失数据。普通的干扰很难这么规律,所以猜测是跟时钟或者触发读写有关的环节出现问题,比如ST7789和ILI9341对SPI速度的要求有差异、读写中断有冲突等等。
截图202605271320188769.jpg

因为这组GIF图片正常循环一次也就大概1秒钟左右,但从上面截图看到,第7秒只错位了几个像素,但第8秒就错位了大半个屏幕的偏移量,也可以说明给屏幕发送的数据有大段 间隔性的数据丢失。


3、从第一帧图像上可以看到,屏幕最后一个点并没有显示地板的颜色,而是一个白点,猜测从一开始读取数据就出现问题了
截图202605271325186324.jpg

因为是连续读取/发送数据,假如每张图片在最后都少一个点,经过若干个循环之后,出现不断偏移的错位也说得通。

截图202605271333003997.jpg

、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、

所以感觉问题不在图片数据,而是看看SPI、QSPI时钟之类方面有没有影响,或者CS之类端口有没有软硬件的干扰。

另外,关于565格式
你的初始化函数里
        LCM_WriteCmd_CS(0x36);
        LCM_WriteData_CS(0x60);//FPC朝左(0xa0),FPC朝右(0x60)FPC朝上(0xc0)FPC朝下(0x48)


        LCM_WriteCmd_CS(0x3A);
        LCM_WriteData_CS(0x05);


(1) 对于0x36指令(内存数据访问控制)
参数 0x60 换成二进制是 01100000
其中bit3对应的是RGB顺序:0对应R-G-B,1对应B-G-R(ST7789和ILI9341的这个指令格式相同),
所以例程的设置和你的设置都是 R-G-B 的顺序

(2) 对于0x3A指令(像素点格式设置)
ST7789和ILI9341的这个指令格式也相同。

例程里用的参数是 0x55 (01010101
其中 [bit6:bit4][bit2:bit0] 的三位 101 是 16位模式

你用的参数 0x05 (00000101
其中 [bit2:bit0] 的三位 101 是 16位模式
但是 [bit6:bit4] 的三位 000 是错误设置,应该也是 101 对应的16位模式(或者叫65K模式)

(3) 综合 16位 R-G-B 顺序,可以用纯色的图片对数据发送进行一下测试
比如取模一张(R:0, G:255, B:0)的绿色图片
green.bmp
用5-6-5进行取模,得到的是 0x07E0 或者 0x0E07(取决于程序里是高位优先还是低位优先)
直接连续发送这个数据,或者放进单片机内存和W25Q,然后连续发送,
如果发送数据有问题,显示出来的将不会是绿色,
或者向前面花屏那样,绿色或者杂色混合着白色显示。









能体会到发现一个不理解的现象然后找原因然后要么解决掉问题要么被问题解决掉的那种快乐是我的幸运
回复

使用道具 举报 送花

  • 打卡等级:以坛为家I
  • 打卡总天数:388
  • 最近打卡:2026-07-05 07:53:50

24

主题

54

回帖

1050

积分

金牌会员

积分
1050
发表于 2026-5-29 08:49:26 | 显示全部楼层
大*** 发表于 2026-5-27 14:31
先用一下排除法

1、根据对正常图片进行反色,观察颜色跟你的显示效果不符合,所以屏幕反色设置可能性排除

多谢大家指点,现在(320*240)的图片显示正常了,可是把图片改成(18*94)就不行,彩色跟图片不符,会是那出问题:
#define IMG_SIZE            (18UL * 94 * 2)
#define DMA_AMT_LEN         (1692UL)
#define DMA_CNT             (IMG_SIZE / DMA_AMT_LEN)
F:\WJ2026\2.PNG
2.png

点评

检查图片取模参数 [attachimg]138346[/attachimg]  详情 回复 发表于 2026-5-29 09:21
回复

使用道具 举报 送花

  • 打卡等级:以坛为家II
  • 打卡总天数:586
  • 最近打卡:2026-07-04 12:34:03
已绑定手机

112

主题

4958

回帖

1万

积分

荣誉版主

无情的代码机器

积分
10758
发表于 2026-5-29 09:21:42 | 显示全部楼层
智**** 发表于 2026-5-29 08:49
多谢大家指点,现在(320*240)的图片显示正常了,可是把图片改成(18*94)就不行,彩色跟图片不符,会是那出问题: ...

检查图片取模参数

截图202605290921387458.jpg
三天不学习,赶不上刘少奇~
回复

使用道具 举报 送花

  • 打卡等级:以坛为家I
  • 打卡总天数:388
  • 最近打卡:2026-07-05 07:53:50

24

主题

54

回帖

1050

积分

金牌会员

积分
1050
发表于 2026-5-29 10:13:01 | 显示全部楼层
erci*** 发表于 2026-5-29 09:21
检查图片取模参数

不是这问题吧,不可能2个图片一个高位前,一个低位前,要是这样怎出产品?
3.png

点评

[attachimg]138386[/attachimg] 因为这套取模工具一开始没有统一顺序规则,后续版本里做了统一。 早期版本取模工具里,顺序选项叫“XX在前”,意思是说16位颜色值的高八位和低八位哪个在前面; 后续的新版本对这个  详情 回复 发表于 2026-5-29 12:34
例程里是低位在前。 和你屏幕显示猫和老鼠的字节序一样就行。 然后检查下是不是输出窗口设置有问题导致像素点错位。 还有宽高改为全屏对比差异,不可能猫和老鼠正常输出换个图就不行了。  详情 回复 发表于 2026-5-29 10:47
回复

使用道具 举报 送花

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

本版积分规则

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

GMT+8, 2026-7-5 14:04 , Processed in 0.075582 second(s), 83 queries .

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

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