山东群英会最新走势图走势图———如何将DMA运用在LCD显示上

查看: 4073|回复: 22
如何将DMA运用在LCD显示上?
主题帖子精华
初级会员, 积分 196, 距离下一级还需 4 积分
在线时间9 小时
最近在做一个ili9325LCD显示视频的模块,把视频转换成的一张张图片放在SD卡,然后运用DMA从SD卡里读数据到stm32,再把数据发送给LCD。
问题是:从stm32的SRAM发送数据给LCD的这个过程,可不可以运用DMA,怎么样运用,或者说用的时候,设置DMA的外设地址是什么?
先谢谢大家~
可以&用存储器到存储器模式,地址分别是你设置的数组的地址和屏幕对应的FSMC地址
主题帖子精华
在线时间137 小时
可以&用存储器到存储器模式,地址分别是你设置的数组的地址和屏幕对应的FSMC地址
主题帖子精华
初级会员, 积分 196, 距离下一级还需 4 积分
在线时间9 小时
回复【2楼】ricefat:
---------------------------------
但是我现在用的是正点原子的迷你开发板,没有fsmc怎么办?
主题帖子精华
金钱116512
在线时间884 小时
回复【3楼】kdjjkd:
---------------------------------
那就没办法DMA了。。。
我是开源电子网站长,有关站务问题请与我联系。
正点原子STM32开发板购买店铺:
微信公众平台:正点原子& &
主题帖子精华
高级会员, 积分 666, 距离下一级还需 334 积分
在线时间68 小时
回复【2楼】ricefat:
---------------------------------
有没有例程,能不能给我一个,非常感谢,我卡这边很久了
淘宝小店,没事可以点一下增加点流量/
主题帖子精华
高级会员, 积分 666, 距离下一级还需 334 积分
在线时间68 小时
回复【3楼】kdjjkd:
---------------------------------
你怎么想到这个方法的,是不是有例程,能不能给我一个,非常感谢
淘宝小店,没事可以点一下增加点流量/
主题帖子精华
中级会员, 积分 388, 距离下一级还需 112 积分
在线时间1 小时
回复【3楼】kdjjkd:
---------------------------------
赶紧换战舰
主题帖子精华
在线时间137 小时
回复【5楼】yuanxinfei:
---------------------------------
没有FSMC或是SPI接口没法用DMA
主题帖子精华
高级会员, 积分 666, 距离下一级还需 334 积分
在线时间68 小时
回复【8楼】ricefat:
---------------------------------
我有FSMC,可是不会用,不知道怎么用,你有例程吗,能给我一个例程吗
淘宝小店,没事可以点一下增加点流量/
主题帖子精华
在线时间137 小时
回复【9楼】yuanxinfei:
---------------------------------
FSMC驱动屏幕的例程论坛很多了啊。
主题帖子精华
高级会员, 积分 666, 距离下一级还需 334 积分
在线时间68 小时
回复【10楼】ricefat:
---------------------------------
可是用到DMA的没有例程,所以想要一个用到DMA传输,FSMC驱动LCD的
淘宝小店,没事可以点一下增加点流量/
主题帖子精华
在线时间137 小时
回复【11楼】yuanxinfei:
---------------------------------
本质上和DMA到SPI或是USART没有什么区别,指定好传输个数,方式,源地址,目的地址,开启DMA即可。
主题帖子精华
高级会员, 积分 666, 距离下一级还需 334 积分
在线时间68 小时
回复【12楼】ricefat:
---------------------------------
主要是位图和FSMC的地址对应不起来,不知道哪个对应哪个?位图x,y,xsize,ysize,pdata的数值怎么对应到FSMC上去
#define&RA8875_BASE
((uint32_t)(0x6C000000&|&0x))
#define&RA8875_REG
*(__IO&uint16_t&*)(RA8875_BASE&+&&(1&&&&(18&+&1))) /*&FSMC&16位总线模式下,FSMC_A18口线对应物理地址A19&*/
#define&RA8875_RAM
*(__IO&uint16_t&*)(RA8875_BASE)
#define&RA8875_RAM_ADDR
RA8875_BASE
这个是不是就是FSMC的地址,不知道怎么对应
淘宝小店,没事可以点一下增加点流量/
主题帖子精华
在线时间137 小时
回复【13楼】yuanxinfei:
---------------------------------
FSMC只是个存储器控制接口,与位图x,y,xsize,ysize,pdata的数值没有关系。你先弄明白FSMC
主题帖子精华
高级会员, 积分 666, 距离下一级还需 334 积分
在线时间68 小时
回复【14楼】ricefat:
---------------------------------
&DMA_InitStructure.DMA_PeripheralBaseAddr&=
&DMA_InitStructure.DMA_Memory0BaseAddr&=
那这两个地址填什么呢,一个FSMC的是不是填(uint32_t)(0x6C000000&|&0x),另一个我怎么填
淘宝小店,没事可以点一下增加点流量/
主题帖子精华
在线时间137 小时
回复【15楼】yuanxinfei:
---------------------------------
FSMC地址有分块的,看你设备在那一块,datasheet上有讲,论坛里也有讲解
主题帖子精华
高级会员, 积分 666, 距离下一级还需 334 积分
在线时间68 小时
回复【16楼】ricefat:
---------------------------------
恩恩&,谢谢,一个地址填的是FSMC的,那另一个地址我该填什么呢,是位图的吗
淘宝小店,没事可以点一下增加点流量/
主题帖子精华
在线时间137 小时
回复【17楼】yuanxinfei:
---------------------------------
是你的位图数据缓存,一个缓存数组
主题帖子精华
高级会员, 积分 666, 距离下一级还需 334 积分
在线时间68 小时
回复【18楼】ricefat:
---------------------------------
恩恩,谢谢,已解决
淘宝小店,没事可以点一下增加点流量/
主题帖子精华
新手上路, 积分 37, 距离下一级还需 13 积分
在线时间0 小时
楼主,那你用的是哪个dma的哪路通道?void&MYDMA_Config(DMA_Channel_TypeDef*&DMA_CHx,u32&cpar,u32&cmar,u16&cndtr)
{
& RCC_AHBPeriphClockCmd(RCC_AHBPeriph_DMA1,&ENABLE); //使能DMA传输
&&&&DMA_DeInit(DMA_CHx);
&&&......
}
前面两个配置怎么填?
主题帖子精华
高级会员, 积分 691, 距离下一级还需 309 积分
在线时间17 小时
回复【19楼】yuanxinfei:
---------------------------------
你好在吗,,楼主,遇到同样的问题,工程可以上传吗?造福下论坛同胞们
主题帖子精华
初级会员, 积分 100, 距离下一级还需 100 积分
在线时间4 小时
什么样的屏可以接到FSMC口上  MSDO5O屏可以吗?
主题帖子精华
在线时间137 小时
回复【22楼】ABCD1234:
---------------------------------
支持8080时序的屏幕
Powered by2被浏览298分享邀请回答暂时还没有回答,开始写第一个回答TFTLCD上显示汉字,在SPI模式下读写SD卡中的字库
想用DMA方式加快刷屏速度,怎么设置DMA传输的两个传输地址啊?? - STM32/STM8技术论坛 -
中国电子技术论坛 -
最好最受欢迎电子论坛!
后使用快捷导航没有帐号?
TFTLCD上显示汉字,在SPI模式下读写SD卡中的字库
想用DMA方式加快刷屏速度,怎么设置DMA传输的两个传输地址啊??
20:16:19  
本帖最后由 先森你好 于
20:17 编辑
TFTLCD上显示汉字,在SPI模式下读写SD卡中的字库&&想用DMA方式加快刷屏速度,怎么设置DMA传输的两个传输地址啊? 调了好久了 大神来指点指点!
(53.08 KB, 下载次数: 8)
20:15 上传
已退回10积分
10:29:57  
stm32的书啊平速度已经很快了,如果想更快可以通过预读取的方式来增加速度,就像在浏览图片的时候预先加载上一张和下一张那我们浏览的时候就很快了。
10:30:15  
PCB在线计价下单
板子大小:
板子数量:
PCB 在线计价
stm32的书啊平速度已经很快了,如果想更快可以通过预读取的方式来增加速度,就像在浏览图片的时候预先加载上一张和下一张那我们浏览的时候就很快了。
11:41:44  
你想用什么来触发DMA传输
11:43:02  
谢谢分享,学习了
工程师职场
Powered by
供应链服务
商务及广告合作
Jeffery Guo
关注我们的微信
供应链服务 PCB/IC/PCBA
下载发烧友APP
版权所有 (C) 深圳华强聚丰电子科技有限公司查看: 633|回复: 5
如何将dma运用到stm32f103开发板的lcd上?
主题帖子精华
新手上路, 积分 37, 距离下一级还需 13 积分
在线时间0 小时
最近在用stm32f103驱动ov7670摄像头(带FIFO),想尝试一下用dma读取直接显示在lcd上,可是在配置dma时发现不知道开启stm32哪一个dma的哪一路通道,原子给的dma通道的资料里没有关于lcd的,望各路大神指点一下!
参考我们的ATK-OV2640资料,用了dma传输数据到lcd。
论坛搜索:ATK-OV2640,下载,里面的战舰板参考例程就是。
主题帖子精华
金钱116512
在线时间884 小时
参考我们的ATK-OV2640资料,用了dma传输数据到lcd。
论坛搜索:ATK-OV2640,下载,里面的战舰板参考例程就是。
我是开源电子网站长,有关站务问题请与我联系。
正点原子STM32开发板购买店铺:
微信公众平台:正点原子& &
主题帖子精华
新手上路, 积分 37, 距离下一级还需 13 积分
在线时间0 小时
回复【2楼】正点原子:
---------------------------------
原子哥,我下载看了一下,上面使用的是从sd卡的sram到lcd,可我目前遇到的问题是用stm32f103驱动没有FIFO缓冲区和晶振的ov7670摄像头,我想利用直接对数据端口dma读取(pc0-pc7)然后全部显示在lcd上,可是我查stm32f103的参考资料时发现dma的通道里没有对普通IO操作的,这该怎么办?
主题帖子精华
金钱116512
在线时间884 小时
回复【3楼】yy_sunshine99:
--------------------------------
直接存储器到存储器模式&即可
说白了你把GPIO-&ODR的地址,当成内存用就完了。
我是开源电子网站长,有关站务问题请与我联系。
正点原子STM32开发板购买店铺:
微信公众平台:正点原子& &
主题帖子精华
新手上路, 积分 37, 距离下一级还需 13 积分
在线时间0 小时
回复【4楼】正点原子:
---------------------------------
&&while(1)&
&&&&{
// &OV7670_Light_Mode();
&&&&&&&&TimerCnt&=&0;
&&&&&&&&temp7670&=&0;
&&&&&&&&CLK_init_ON();&//&OV7670&XCLK&开
&&&&&&&&while(value&&&0x0800)&&&&value&=&GPIOC-&IDR;&&&//&Vsync=H&&&&
&&&&&&&&while((~value)&&&0x0800)&value&=&GPIOC-&IDR;&&&//&Vhync=L&
&&&&&&&&
&&&&&&&&CLK_init_OFF();&//OV7670&XCLK&关
while(TimerCnt&&&76800)
&&&&&&&&{
XCLK_L;& &&&//&&GPIOA-&BRR&=&&&GPIO_Pin_8;
为0或1
&&&&&&&&&&&&XCLK_H;
&&&//&GPIOA-&BSRR&=&&GPIO_Pin_8;&&&端口复位寄存器&&&为0
value&=&GPIOC-&IDR;
temp7670&++;
&&&&&&&&&&&&
if(value&&&0x0100)&//&HREF&=&H&||(LCD_PCLK_STATE)
&&&&&&&&&&&&{
&& &//value&=&GPIOC-&IDR;
&& &//display[TimerCnt]=&
&&&if((temp7670&==&1))//&高字节||(value&&&0x0200)&||(LCD_PCLK_STATE)&
&&&&&&&&&&&&&&&&{
&&&&&&&&&&&&&&&&&& val1=value&&0x00
&&&&&&&&&&&&&&&&}
&&&&&&&&&&&&&&&&else&//&低字节 &if((temp7670&!=&1)||(LCD_PCLK_STATE))&&
&&&&&&&&&&&&&&&&{
&&&&&&&&&&&&&&&&&&& val2=&value&&8&&;& &//
val&=ili9320_BGR2RGB(val1&|val2);
&&&&&&&&&&&&&&&&&&&&temp7670&=&0;
&&&&&&&&&&&&&&&&&&&&LCD_WriteRAM(val);&//TFT&GRAM&数据
&&&&&&&&&&&&&&&&&&&&TimerCnt&++;
&&&&&&&&&&&&&&&&}
&&&&&&&&&&&&}&
}
初始化成功之后我采用上面的代码直接读gpioc的值来采像素点,可是lcd还是没有图像显示,我的代码有什么问题吗?
主题帖子精华
金钱116512
在线时间884 小时
回复【5楼】yy_sunshine99:
---------------------------------
得你自己调试哦。
我是开源电子网站长,有关站务问题请与我联系。
正点原子STM32开发板购买店铺:
微信公众平台:正点原子& &
Powered by&&&您需要以后才能回答,未注册用户请先。

我要回帖

更多关于 山东群英会走势图今天 的文章

 

随机推荐