OpenEdv-开源电子网

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

STM32F4+OV2640 图像识别缓存RAM

[复制链接]

1

主题

3

帖子

0

精华

初级会员

Rank: 2

积分
59
金钱
59
注册时间
2016-6-15
在线时间
12 小时
发表于 2016-6-16 09:40:01 | 显示全部楼层 |阅读模式
1金钱
我现在找到的所有例程上用的都是下面这句话存放图像缓存:
DCMI_DMA_Init((u32)&LCD->LCD_RAM,1,DMA_MemoryDataSize_HalfWord,DMA_MemoryInc_Disable);
他是这个函数:
void DCMI_DMA_Init(u32 DMA_Memory0BaseAddr,u16 DMA_BufferSize,u32 DMA_MemoryDataSize,u32 DMA_MemoryInc)
//DCMI DMA配置
//DMA_Memory0BaseAddr:存储器地址  将要存储摄像头数据的内存地址(也可以是外设地址)
//DMA_BufferSize:存储器长度    0~65535
//DMA_MemoryDataSize:存储器位宽   @defgroup DMA_memory_data_size MA_MemoryDataSize_Byte/DMA_MemoryDataSize_HalfWord/DMA_MemoryDataSize_Word
//DMA_MemoryInc:存储器增长方式  @defgroup DMA_memory_incremented_mode  /** @defgroup DMA_memory_incremented_mode : DMA_MemoryInc_Enable/DMA_MemoryInc_Disable

现在遇到的问题是:不能使用(u32)&LCD->LCD_RAM,我希望把它存在其他地方,比如SRAM之类。但是我尝试后发现程序就不能用了。求解。。。


可调黑白 实验35 摄像头实验.rar

552.66 KB, 下载次数: 629

最佳答案

查看完整内容[请看2#楼]

改这个:1,要保证你的内存空间够大(至少可以容下一张图片)。 2,这个内存区域访问速度要快,否则会出现数据丢失。 最后,DMA要设置为目标地址自增,且帧中断里面,必须重新设置DMA目标地址。
正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165371
金钱
165371
注册时间
2010-12-1
在线时间
2110 小时
发表于 2016-6-16 09:40:02 | 显示全部楼层
改这个:1,要保证你的内存空间够大(至少可以容下一张图片)。
2,这个内存区域访问速度要快,否则会出现数据丢失。
最后,DMA要设置为目标地址自增,且帧中断里面,必须重新设置DMA目标地址。
回复

使用道具 举报

1

主题

3

帖子

0

精华

初级会员

Rank: 2

积分
59
金钱
59
注册时间
2016-6-15
在线时间
12 小时
 楼主| 发表于 2016-6-16 09:41:33 | 显示全部楼层
一楼手动召唤原子哥
回复

使用道具 举报

0

主题

71

帖子

0

精华

高级会员

Rank: 4

积分
758
金钱
758
注册时间
2015-8-25
在线时间
165 小时
发表于 2016-6-16 21:18:02 | 显示全部楼层
DCMI_DMA_Init((u32)&LCD->LCD_RAM,1,DMA_MemoryDataSize_HalfWord,DMA_MemoryInc_Disable);

这个是库函数版本代码

不知道你用的是库函数还是寄存器编写的代码,得保持一致才可以,不能颠倒用。

想要储存到其他地方,可以定义个数组,把该数组的地址替换   (u32)&LCD->LCD_RAM   即可。
回复

使用道具 举报

1

主题

5

帖子

0

精华

新手入门

积分
9
金钱
9
注册时间
2016-7-26
在线时间
1 小时
发表于 2016-7-26 14:33:47 | 显示全部楼层
如果将dma配置成循环模式的话 还需要在帧中断中重置dma的目标地址么
回复

使用道具 举报

1

主题

5

帖子

0

精华

新手入门

积分
9
金钱
9
注册时间
2016-7-26
在线时间
1 小时
发表于 2016-7-26 14:34:43 | 显示全部楼层
对dma的目标地址进行重置是要 整体调用dma的初始化函数还是有 能够只改变dma目标地址的库函数
回复

使用道具 举报

1

主题

5

帖子

0

精华

新手入门

积分
9
金钱
9
注册时间
2016-7-26
在线时间
1 小时
发表于 2016-7-26 14:46:00 | 显示全部楼层
顶一下求助
回复

使用道具 举报

1

主题

3

帖子

0

精华

初级会员

Rank: 2

积分
59
金钱
59
注册时间
2016-6-15
在线时间
12 小时
 楼主| 发表于 2016-7-26 22:19:06 | 显示全部楼层
我们已经差不多做出来了。由于我们用在不同的地方,你们借鉴的时候可能需要修改一下。代码在附件。 图像传感.zip (12.91 MB, 下载次数: 4710)
回复

使用道具 举报

16

主题

84

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
208
金钱
208
注册时间
2018-4-9
在线时间
111 小时
发表于 2018-5-18 22:02:07 | 显示全部楼层
楼主,请问你的是文字识别还是别的吗
回复

使用道具 举报

2

主题

14

帖子

0

精华

初级会员

Rank: 2

积分
121
金钱
121
注册时间
2018-5-14
在线时间
23 小时
发表于 2018-5-18 22:42:25 | 显示全部楼层
参照参照
回复

使用道具 举报

0

主题

3

帖子

0

精华

新手入门

积分
17
金钱
17
注册时间
2020-11-29
在线时间
3 小时
发表于 2021-10-30 15:37:28 来自手机 | 显示全部楼层
好好学习天天上
回复

使用道具 举报

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

本版积分规则



关闭

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

正点原子公众号

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

GMT+8, 2025-2-26 19:32

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

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