[综合信息] 使用 DMA 传输单一颜色时屏幕颜色不正确

[复制链接]
 楼主| 泡椒风爪 发表于 2024-8-31 02:24 | 显示全部楼层 |阅读模式
在配置DMA时,如果需要传输单一颜色数据,内存地址递增是否应该禁用?如果内存地址递增未禁用,是否会导致每次从不同的内存位置读取数据,进而使屏幕显示的颜色不一致?
lamanius 发表于 2025-2-8 17:24 | 显示全部楼层
如果希望在整个传输过程中都使用同一内存位置的数据(即单一颜色数据),那么应该禁用内存地址递增。这样,DMA将反复从同一内存地址读取数据,并将其传输到目标设备(如屏幕)。这种情况下,屏幕将显示一致的颜色。
p0gon9y 发表于 2025-2-8 18:33 | 显示全部楼层
一般来说如果内存地址递增未禁用,DMA将在每次传输时从下一个内存地址读取数据。这意味着,如果内存中包含不同的数据(即不同的颜色值),那么屏幕将显示不同的颜色。这可能导致屏幕显示的颜色不一致,特别是在需要显示单一颜色的场景下
suw12q 发表于 2025-2-8 19:37 | 显示全部楼层
即使内存地址递增未禁用,也不一定会导致每次从不同的内存位置读取数据,进而使屏幕显示的颜色不一致
liu96jp 发表于 2025-2-8 20:42 | 显示全部楼层
其实取决于内存中的数据布局。如果内存中连续存储的是相同的数据(即相同的颜色值),那么即使内存地址递增未禁用,屏幕也可能显示一致的颜色。但这种情况较为特殊,且在实际应用中不常见。
t1ngus4 发表于 2025-2-8 22:14 | 显示全部楼层
为了确保屏幕显示一致的颜色,在配置DMA传输单一颜色数据时,建议禁用内存地址递增。这样可以确保DMA始终从同一内存地址读取数据,并将其传输到目标设备
d1ng2x 发表于 2025-2-9 08:39 | 显示全部楼层
对于是否需要禁用内存地址递增,应根据具体的应用场景和需求来决定。在需要传输单一颜色数据的场景下,为了确保屏幕显示一致的颜色,建议禁用内存地址递增。
zhizia4f 发表于 2025-2-9 11:20 | 显示全部楼层
单一颜色不正确?是不是数据传输错误了
q1ngt12 发表于 2025-2-9 13:05 | 显示全部楼层
一般DMA配置的问题吧,可能数据错了就这样了
w2nme1ai7 发表于 2025-2-9 14:09 | 显示全部楼层
我觉得应该禁用吧,你可以试试的
ex7s4 发表于 2025-2-9 16:15 | 显示全部楼层
我觉得禁用应该问题不大吧,不是可以调试吗,试试呗
地瓜patch 发表于 2025-2-27 12:22 来自手机 | 显示全部楼层
问题好复杂,没理解
您需要登录后才可以回帖 登录 | 注册

本版积分规则

46

主题

307

帖子

0

粉丝
快速回复 在线客服 返回列表 返回顶部

46

主题

307

帖子

0

粉丝
快速回复 在线客服 返回列表 返回顶部