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

试用32G12K128系列,感觉不错,很舒服

[复制链接]
  • 打卡等级:偶尔看看II
  • 打卡总天数:20
  • 最近打卡:2025-08-14 10:33:10

34

主题

1123

回帖

2636

积分

荣誉版主

积分
2636
发表于 2025-8-14 14:25:35 | 显示全部楼层
cyf1*** 发表于 2025-8-14 11:25
我按您的方式对齐了,也是不行。

另外就是我传输的数组长度是不变的,只不过是最后一个灯设置为灭而已。 ...

或许是少传了1位数据,比如:串行输出32位,实际只有31位。
但现在不能确认,代码出现BUG有时候是五花八门,不实演很难猜出症结。

另:请问您用的是 I8080模式,还是M6800模式。
建议I8080模式,硬件波形,时序比较契合。

如何找出问题的建议:
1. 首先降低通信速率,以此来排除可能的匹配问题。
2.反复修改代码,比如现在是输出32个位,
修改代码为只输出8个位,同时更改显示数据,便于观察。(有示波或逻辑分析仪更好,没有也没关系,改数据可体现在LED灯上)
因为总的数据量少了,哪怕一位一位的看过去,也不会花很长时间,就能很快找出症结。
修正后改回,代码就正常了。
回复

使用道具 举报 送花

  • 打卡等级:偶尔看看III
  • 打卡总天数:48
  • 最近打卡:2025-08-23 19:53:43

7

主题

33

回帖

343

积分

中级会员

积分
343
发表于 2025-8-14 14:31:58 | 显示全部楼层
tzz1*** 发表于 2025-8-14 14:25
或许是少传了1位数据,比如:串行输出32位,实际只有31位。
但现在不能确认,代码出现BUG有时候是五花八 ...

使用的是I8080并口的,我现在用的是16位驱动,跟这个有关系吗?我改变了传输数据的长度,显示也会不正常。
截图202508141432586957.jpg

点评

还有个地方要注意,LCM口和普通IO口是共用的,也就是说,当DMA结束(LCM闲置时), WR就变成了普通的IO口并输出IO电平,这可能会使WR引脚上出现额外的脉冲波形。 实际使用中: 1. I8080模式时,WR的初始化为高电平,  详情 回复 发表于 2025-8-14 14:57
这里本来就要减1的,应该不是这里的问题  发表于 2025-8-14 14:41
回复

使用道具 举报 送花

  • 打卡等级:偶尔看看II
  • 打卡总天数:20
  • 最近打卡:2025-08-14 10:33:10

34

主题

1123

回帖

2636

积分

荣誉版主

积分
2636
发表于 2025-8-14 14:57:33 | 显示全部楼层
cyf1*** 发表于 2025-8-14 14:31
使用的是I8080并口的,我现在用的是16位驱动,跟这个有关系吗?我改变了传输数据的长度,显示也会不正常。 ...

还有个地方要注意,LCM口和普通IO口是共用的,也就是说,当DMA结束(LCM闲置时),
WR就变成了普通的IO口并输出IO电平,这可能会使WR引脚上出现额外的脉冲波形。
实际使用中:
1. I8080模式时,WR的初始化为高电平,并设置成推挽输出,以后就一直不要改变.
2. 一行扫描最好只用一次DMA完成, 不要分割成多次,可避免间隙期间电平的变化。

如果是使用M6800的E脚,则初始电平应该设置成低电平。
回复

使用道具 举报 送花

  • 打卡等级:偶尔看看III
  • 打卡总天数:48
  • 最近打卡:2025-08-23 19:53:43

7

主题

33

回帖

343

积分

中级会员

积分
343
发表于 2025-8-14 15:01:32 | 显示全部楼层
tzz1*** 发表于 2025-8-14 14:57
还有个地方要注意,LCM口和普通IO口是共用的,也就是说,当DMA结束(LCM闲置时),
WR就变成了普通的IO口 ...

每次传输一行数据,使用PWM在更新中断修改行地址和数据首地址,使用LCM_DMA中断进行数据锁存,这样应该也是没问题的,我刚刚用示波器看了,一个OE周期内clk的数量也是对的

点评

实在不行,就花点时间,改成IO驱动吧,调成功后,用示波器记录波形。 再改回DMA, 输出同样的数据,看看波形异同  详情 回复 发表于 2025-8-14 15:12
理论上,模组是上升沿锁存数据,即使CLK上升沿后不变低电平也可正常锁存数据。但会不会有外不一定  详情 回复 发表于 2025-8-14 15:08
会不会模组的CLK端不支持高电平结束呢? 我这边用过几种模组,HUB75/HUB12都是正常的。 也可以考虑一下,试试改成增加/减少一位看看结果  详情 回复 发表于 2025-8-14 15:04
回复

使用道具 举报 送花

  • 打卡等级:偶尔看看II
  • 打卡总天数:20
  • 最近打卡:2025-08-14 10:33:10

34

主题

1123

回帖

2636

积分

荣誉版主

积分
2636
发表于 2025-8-14 15:04:56 | 显示全部楼层
cyf1*** 发表于 2025-8-14 15:01
每次传输一行数据,使用PWM在更新中断修改行地址和数据首地址,使用LCM_DMA中断进行数据锁存,这样应该也 ...

会不会模组的CLK端不支持高电平结束呢?
我这边用过几种模组,HUB75/HUB12都是正常的。
也可以考虑一下,试试改成增加/减少一位看看结果
回复

使用道具 举报 送花

  • 打卡等级:偶尔看看II
  • 打卡总天数:20
  • 最近打卡:2025-08-14 10:33:10

34

主题

1123

回帖

2636

积分

荣誉版主

积分
2636
发表于 2025-8-14 15:08:02 | 显示全部楼层
cyf1*** 发表于 2025-8-14 15:01
每次传输一行数据,使用PWM在更新中断修改行地址和数据首地址,使用LCM_DMA中断进行数据锁存,这样应该也 ...

理论上,模组是上升沿锁存数据,即使CLK上升沿后不变低电平也可正常锁存数据。但会不会有例外不一定
回复

使用道具 举报 送花

  • 打卡等级:偶尔看看II
  • 打卡总天数:20
  • 最近打卡:2025-08-14 10:33:10

34

主题

1123

回帖

2636

积分

荣誉版主

积分
2636
发表于 2025-8-14 15:12:23 | 显示全部楼层
cyf1*** 发表于 2025-8-14 15:01
每次传输一行数据,使用PWM在更新中断修改行地址和数据首地址,使用LCM_DMA中断进行数据锁存,这样应该也 ...

实在不行,就花点时间,改成IO驱动吧,调成功后,用示波器记录波形。
再改回DMA, 输出同样的数据,看看波形异同

慢慢测试,祝成功!
回复

使用道具 举报 送花

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

本版积分规则

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

GMT+8, 2025-8-24 02:34 , Processed in 0.113279 second(s), 85 queries .

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

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