//LCD DMA初始化部分
u16 LCD_CUR_LINE;
u32 DMA2_MEM_LEN=320*240/2;//保存DMA每次数据传送的长度 半屏幕
void LCD_DMA_Coinfig(void)
{
RCC->AHBENR|=1<<1;//开启DMA2时钟
DMA2_Channel5->CPAR=(u32)LCD_GRAM_BUF; //DMA2 外设地址
DMA2_Channel5->CMAR=(u32)0X6C000800; //DMA2,存储器地址,是LCD的地址
DMA2_Channel5->CNDTR=DMA2_MEM_LEN; //DMA2,传输数据量
DMA2_Channel5->CCR=0X00000000;//复位
//DMA2_Channel5->CCR|=1<<1; // 允许传输完成中断
DMA2_Channel5->CCR|=0<<4; //从外设读
DMA2_Channel5->CCR|=0<<5; //普通模式
DMA2_Channel5->CCR|=1<<6; //外设地址增量模式
DMA2_Channel5->CCR|=0<<7; //存储器非增量模式
DMA2_Channel5->CCR|=1<<8; //外设数据宽度为16位
DMA2_Channel5->CCR|=1<<10; //存储器数据宽度16位
DMA2_Channel5->CCR|=1<<12; //中等优先级
DMA2_Channel5->CCR|=1<<14; //存储器到存储器模式(不需要外部请求)
//MY_NVIC_Init(0,3,DMA2_Channel4_5_IRQChannel,2);//抢占0,子优先级3,组2
}
DMA2,存储器地址,是LCD的地址0X6C000800,是怎样得到的?
|