中级会员
 
- 积分
- 474
- 金钱
- 474
- 注册时间
- 2016-4-29
- 在线时间
- 140 小时
|
1金钱
void slcd_dma_init(void)
{
RCC->AHB1ENR|=1<<22; //DMA2时钟使能
while(DMA2_Stream2->CR&0X01);//等待DMA2_Stream2可配置
DMA2->LIFCR|=0X0F7D0F7D; //清空Stream2的通道0-3上所有中断标志
DMA2_Stream2->FCR=0X0000021;//设置为默认值
DMA2_Stream2->PAR=(u32)&SPI1->DR; //外设地址为:SPI1->DR
DMA2_Stream2->M0AR=(u32)&LCD->LCD_RAM; //目标地址为LCD_RAM
DMA2_Stream2->M1AR=0; //不用设置
DMA2_Stream2->NDTR=0; //暂时设置长度为0
DMA2_Stream2->CR=0; //先全部复位CR寄存器值
DMA2_Stream2->CR|=0<<6; //外设到存储器模式
DMA2_Stream2->CR|=0<<8; //普通模式
DMA2_Stream2->CR|=0<<9; //外设非增量模式
DMA2_Stream2->CR|=0<<10; //存储器非增量模式
DMA2_Stream2->CR|=1<<11; //外设数据长度:16位
DMA2_Stream2->CR|=1<<13; //存储器数据长度:16位
DMA2_Stream2->CR|=2<<16; //高优先级
DMA2_Stream2->CR|=0<<18; //单缓冲模式
DMA2_Stream2->CR|=0<<21; //外设突发单次传输
DMA2_Stream2->CR|=0<<23; //存储器突发单次传输
DMA2_Stream2->CR|=3<<25; //选择通道0
DMA2_Stream2->FCR&=~(1<<2); //不使用FIFO模式
DMA2_Stream2->FCR&=~(3<<0); //无FIFO 设置
}
以上是FSMC_MemoryType_SRAM类型的LCD的DMA配置,是不是FSMC_MemoryType_NOR类型的LCD,不能按照上面那样配置啊?
|
|