这是我的代码,已经在其他地方使能时钟了,我的是rgb888,没有a线 配置成功了,但就是在界面上不显示我要的 直线, 我知道是下面的4个配置错了,但不知道怎么配置,480*272,4.3寸数字rgb屏 DMA2D_Inits.DMA2D_OutputMemoryAdd = 0;//3*(480*10 + 10); DMA2D_Inits.DMA2D_OutputOffset = 480-100; DMA2D_Inits.DMA2D_NumberOfLine = 100; DMA2D_Inits.DMA2D_PixelPerLine = 100; 以下是代码: void LCD_DrawLinePoint(void) { DMA2D_InitTypeDef DMA2D_Inits; // DMA2D_DeInit(); DMA2D_Inits.DMA2D_Mode = DMA2D_R2M; DMA2D_Inits.DMA2D_CMode = DMA2D_RGB888; DMA2D_Inits.DMA2D_OutputGreen = 0x00; DMA2D_Inits.DMA2D_OutputBlue = 0x00; DMA2D_Inits.DMA2D_OutputRed = 0xff; DMA2D_Inits.DMA2D_OutputAlpha = 0xff; DMA2D_Inits.DMA2D_OutputMemoryAdd = 0;//3*(480*10 + 10); DMA2D_Inits.DMA2D_OutputOffset = 480-100; DMA2D_Inits.DMA2D_NumberOfLine = 100; DMA2D_Inits.DMA2D_PixelPerLine = 100; DMA2D_Init(&DMA2D_Inits); /* Start Transfer */ DMA2D_StartTransfer(); /* Wait for CTC Flag activation */ while(DMA2D_GetFlagStatus(DMA2D_FLAG_TC) == RESET) { } } |
我主要是不知道 下面4个配置的含义,关键是我随意写 但是画不出来啊
DMA2D_Inits.DMA2D_OutputMemoryAdd ?
DMA2D_Inits.DMA2D_OutputOffset = ?;
DMA2D_Inits.DMA2D_NumberOfLine = ?;
DMA2D_Inits.DMA2D_PixelPerLine = ?;
我主要是不知道 下面4个配置的含义,关键是我随意写 但是画不出来啊
DMA2D_Inits.DMA2D_OutputMemoryAdd ?
DMA2D_Inits.DMA2D_OutputOffset = ?;
DMA2D_Inits.DMA2D_NumberOfLine = ?;
DMA2D_Inits.DMA2D_PixelPerLine = ?;
给你的代码你参考下,或者直接使用就可以,具体的设置可以看下结构体参数的宏定义,这个很简单。
我都看了 就是画不出来 也不知道问题出在哪了
是不是和输出的那个地址有关
时钟打开了吗?
打开了,要不退不出while();
用DMA2D 不是可以直接划线的吗(原里是向指定区域内填充颜色),可是就是不行 ,有没有这方面的经验