初级会员

- 积分
- 52
- 金钱
- 52
- 注册时间
- 2016-8-9
- 在线时间
- 7 小时
|
使用DMA通过FSMC刷屏实验怎么做呢?不使用LCD驱动芯片,直接使用MCU作用驱动芯片使用
RCC_AHBPeriphClockCmd(RCC_AHBPERIPH_DMA1,ENABLE); //时钟初始化
/* DMA1 channel6 configuration */
DMA_Reset(DMA1_Channel6);
DMA_DefaultInitParaConfig(&DMA_InitStructure); //默认填充成员
DMA_InitStructure.DMA_PeripheralBaseAddr = (uint32_t)SRC_Const_Buffer; //外设基地地址
DMA_InitStructure.DMA_MemoryBaseAddr = (uint32_t)XMC_Bank1_NORSRAM1; //内存基址
DMA_InitStructure.DMA_Direction = DMA_DIR_PERIPHERALSRC; //指定外设是源
DMA_InitStructure.DMA_BufferSize = BufferSize; //缓存区宽度
DMA_InitStructure.DMA_PeripheralInc = DMA_PERIPHERALINC_ENABLE; //外设基地址增量
DMA_InitStructure.DMA_MemoryInc = DMA_MEMORYINC_ENABLE; //内存及地址增量
DMA_InitStructure.DMA_PeripheralDataWidth = DMA_PERIPHERALDATAWIDTH_HALFWORD;//外围数据宽度半字-两个字节
DMA_InitStructure.DMA_MemoryDataWidth = DMA_MEMORYDATAWIDTH_HALFWORD; //内存数据宽度半字-两个字节
DMA_InitStructure.DMA_Mode = DMA_MODE_NORMAL; //DMA通道模式,如果内存到内存,则不能使用循环缓冲区模式在所选通道上配置数据传输
DMA_InitStructure.DMA_Priority = DMA_PRIORITY_HIGH; //通道优先级,极高-高-中等-低
DMA_InitStructure.DMA_MTOM = DMA_MEMTOMEM_ENABLE; //使能内存到内存搬运
DMA_Init(DMA1_Channel6, &DMA_InitStructure);
XMC_NORSRAMInitStructure.XMC_Bank = XMC_Bank1_NORSRAM1; //使用NE1
XMC_NORSRAMInitStructure.XMC_DataAdrMux = XMC_DataAdrMux_Disable; //复用数据线
XMC_NORSRAMInitStructure.XMC_Dev = XMC_Dev_SRAM; //外部内存相应的内存块为SRAM
XMC_NORSRAMInitStructure.XMC_BusType = XMC_BusType_16b; //16位数据宽度
XMC_NORSRAMInitStructure.XMC_EnableBurstMode = XMC_BurstMode_Disable; //是否使能突发访问,仅对同步突发存储器有效,此处未用到
XMC_NORSRAMInitStructure.XMC_EnableAsynWait = XMC_AsynWait_Disable; //是否使能同步传输模式下的等待信号,此处未用到
XMC_NORSRAMInitStructure.XMC_WaitSignalLv = XMC_WaitSignalLv_Low; //等待信号的极性,仅在突发模式访问下有用
XMC_NORSRAMInitStructure.XMC_EnableBurstModeSplit = XMC_BurstModeSplit_Disable; //启用或禁用Flash的封装突发访问模式内存,仅在burst模式下访问Flash时有效
XMC_NORSRAMInitStructure.XMC_WaitSignalConfig = XMC_WaitSignalConfig_BeforeWaitState; //存储器是在等待周期之前的一个时钟周期还是等待周期期间使能NWAIT
XMC_NORSRAMInitStructure.XMC_EnableWrite = XMC_WriteOperation_Enable; //存储器写使能
XMC_NORSRAMInitStructure.XMC_EnableWaitSignal = XMC_WaitSignal_Disable; //等待使能位,此处未用到
XMC_NORSRAMInitStructure.XMC_EnableWriteTiming = XMC_WriteTiming_Disable; //启用或禁用扩展模式
XMC_NORSRAMInitStructure.XMC_WriteBurstSyn = XMC_WriteBurstSyn_Disable; //禁止突发写
XMC_NORSRAMInitStructure.XMC_RWTimingStruct = &XMC_NORSRAMTimingInitStructure;//不使用ExtendedMode时,读写的定时参数
XMC_NORSRAMInitStructure.XMC_WTimingStruct = &XMC_NORSRAMTimingInitStructure;//使用ExtendedMode时,读写的定时参数
LCD是4.3寸,480*272,RGB24bit,但我怎么控制时钟和传输数据????
|
|