OpenEdv-开源电子网

 找回密码
 立即注册
正点原子全套STM32/Linux/FPGA开发资料,上千讲STM32视频教程免费下载...
查看: 3917|回复: 0

DMA通过FSMC刷屏,MUC作为LCD的驱动器使用,怎么传输数据?

[复制链接]

2

主题

8

帖子

0

精华

初级会员

Rank: 2

积分
52
金钱
52
注册时间
2016-8-9
在线时间
7 小时
发表于 2021-2-22 18:16:28 | 显示全部楼层 |阅读模式
使用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,但我怎么控制时钟和传输数据????


正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则



关闭

原子哥极力推荐上一条 /2 下一条

正点原子公众号

QQ|手机版|OpenEdv-开源电子网 ( 粤ICP备12000418号-1 )

GMT+8, 2025-2-28 18:35

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

快速回复 返回顶部 返回列表