使用 DMA 传输单一颜色时屏幕颜色不正确
在配置DMA时,如果需要传输单一颜色数据,内存地址递增是否应该禁用?如果内存地址递增未禁用,是否会导致每次从不同的内存位置读取数据,进而使屏幕显示的颜色不一致?如果希望在整个传输过程中都使用同一内存位置的数据(即单一颜色数据),那么应该禁用内存地址递增。这样,DMA将反复从同一内存地址读取数据,并将其传输到目标设备(如屏幕)。这种情况下,屏幕将显示一致的颜色。 一般来说如果内存地址递增未禁用,DMA将在每次传输时从下一个内存地址读取数据。这意味着,如果内存中包含不同的数据(即不同的颜色值),那么屏幕将显示不同的颜色。这可能导致屏幕显示的颜色不一致,特别是在需要显示单一颜色的场景下 即使内存地址递增未禁用,也不一定会导致每次从不同的内存位置读取数据,进而使屏幕显示的颜色不一致 其实取决于内存中的数据布局。如果内存中连续存储的是相同的数据(即相同的颜色值),那么即使内存地址递增未禁用,屏幕也可能显示一致的颜色。但这种情况较为特殊,且在实际应用中不常见。 为了确保屏幕显示一致的颜色,在配置DMA传输单一颜色数据时,建议禁用内存地址递增。这样可以确保DMA始终从同一内存地址读取数据,并将其传输到目标设备 对于是否需要禁用内存地址递增,应根据具体的应用场景和需求来决定。在需要传输单一颜色数据的场景下,为了确保屏幕显示一致的颜色,建议禁用内存地址递增。 单一颜色不正确?是不是数据传输错误了 一般DMA配置的问题吧,可能数据错了就这样了 我觉得应该禁用吧,你可以试试的 我觉得禁用应该问题不大吧,不是可以调试吗,试试呗 问题好复杂,没理解
页:
[1]