客户拥有开发套件 DK-TM4C129X-DK (TM4C129XNCZAD)、并连接了480x272光栅显示屏和外部 SRAM 进行测试。
他们正在尝试使 Tiva C 上的双缓冲与图形一起工作。 它们使用的是 grlib_raster 驱动程序_16bpp 库。 他们查看了该示例、但它仅涵盖单个缓冲选项。 他们尝试进行以下更改、但不认为它可以正常工作、因为每次更新屏幕时屏幕都会闪烁。
MAP_LCDDMAConfigSet (LCD0_BASE、LCD_DMA_BURST_16 | LCD_DMA_FIFORDY_128_SPICE | LCD_DMA_PING_PONG);
//
//设置帧缓冲区。 请注意、我们允许扩展该缓冲器
//位于可用 SRAM 之外。 这使我们能够轻松地在其中测试模式
//我们不能将整个帧放入内存中,当然会意识到这一点
//部分显示将包含 crud。
//
MAP_LCDRasterFrameBufferSet (LCD0_BASE、0、g_pui32DisplayBuffer、
size_palette + size_buffer);
//秒
MAP_LCDRasterFrameBufferSet (LCD0_BASE、1、g_pu32DisplayBuffer2、
size_palette + size_buffer);
//
//将调色板写入帧缓冲区。
//
MAP_LCDRasterPaletteSet (LCD0_BASE、
LCD_PALEGE_SRC_24bit| LCD_PALEGE_TY_DIRECT、
(uint32_t *) g_pui16调色板、g_pulSrcPalette、0、
(size_palette / 2));
//第二个货盘缓冲器
//
//将调色板写入帧缓冲区。
//
MAP_LCDRasterPaletteSet (LCD0_BASE、
LCD_PALEGE_SRC_24bit| LCD_PALEGE_TY_DIRECT、
(uint32_t *) g_pui16Palette2、g_pulSrcPalette、0、
(size_palette / 2));
//
//启用 LCD 中断。
//
MAP_LCDIntEnable (LCD0_BASE、(LCD_INT_DMA_DONE | LCD_INT_SYNC_Lost |
LCD_INT_underflow | LCD_INT_EOF0));
请告知上述代码是否存在问题、或者是否有工作示例。
谢谢、
Brian