硬汉嵌入式论坛

 找回密码
 立即注册
查看: 715|回复: 6
收起左侧

[技术讨论] STM32F4 DCMI DMA驱动 OV767最终显像怎么是呈G色的?

[复制链接]

32

主题

88

回帖

184

积分

初级会员

积分
184
发表于 2024-12-2 10:58:46 | 显示全部楼层 |阅读模式
本帖最后由 Y1ng 于 2024-12-2 12:40 编辑

camera_F4.pdf (178.38 KB, 下载次数: 0) cubeide.rar (9.12 MB, 下载次数: 0) 微信图片_20241202084156.jpg 微信图片_20241202084152.jpg 微信图片_20241202084129.jpg





在白天情况下整体显示绿。。。色
OV7670不带FIFO
另外 单片机RAM不够的情况下,怎么将DMA(DCMI采用DMA)的数据分批搬运?




微信图片_20241202084156.jpg
微信图片_20241202084152.jpg
微信图片_20241202084129.jpg
回复

使用道具 举报

1万

主题

7万

回帖

11万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
116225
QQ
发表于 2024-12-3 11:09:20 | 显示全部楼层
这个可以参考我们整的那个寄存器配置改下,效果还不错,我们也是参考别人的。

V7-030
V7-031

https://www.armbbs.cn/forum.php? ... &extra=page%3D1
回复

使用道具 举报

32

主题

88

回帖

184

积分

初级会员

积分
184
 楼主| 发表于 2024-12-3 15:19:57 | 显示全部楼层
eric2013 发表于 2024-12-3 11:09
这个可以参考我们整的那个寄存器配置改下,效果还不错,我们也是参考别人的。

V7-030

请教一下版主,像单片机(目前用的是stm32f407)RAM不够,又没有外扩SRAM的情况下,即无法申请一个很大空间的数组,怎么将OV7670的图像进行320*240显示,(OV7670采用DCMI+DMA的方式进行驱动 )(OV7670以320*240的画面进行显示,需要的数组空间应为(320*240*2=150K)。)

[C] 纯文本查看 复制代码
uint8_t rceive[153600/2];

[C] 纯文本查看 复制代码
HAL_DCMI_Start_DMA(&hdcmi, DCMI_MODE_CONTINUOUS, (uint32_t*)&rceive, 153600/2/4);

HAL_DCMI_Start_DMA中传递的大小应该是原数组长度的1/4吧?
另外HAL_DCMI_Start_DMA是不是调用一次就行?(但实测下来,若不在任务中实时调用,则图像就只会显示一帧)
回复

使用道具 举报

32

主题

88

回帖

184

积分

初级会员

积分
184
 楼主| 发表于 2024-12-3 17:06:53 | 显示全部楼层
eric2013 发表于 2024-12-3 11:09
这个可以参考我们整的那个寄存器配置改下,效果还不错,我们也是参考别人的。

V7-030

[C] 纯文本查看 复制代码
#define EXT_SDRAM_ADDR  	((uint32_t)0xC0000000)

示例是有使用SDRAM呀
回复

使用道具 举报

1万

主题

7万

回帖

11万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
116225
QQ
发表于 2024-12-4 09:45:48 | 显示全部楼层
Y1ng 发表于 2024-12-3 15:19
请教一下版主,像单片机(目前用的是stm32f407)RAM不够,又没有外扩SRAM的情况下,即无法申请一个很大空 ...

可以直接绘制到LCD的显存里面。
回复

使用道具 举报

32

主题

88

回帖

184

积分

初级会员

积分
184
 楼主| 发表于 2024-12-5 09:13:39 | 显示全部楼层
eric2013 发表于 2024-12-4 09:45
可以直接绘制到LCD的显存里面。

LCD不是采用FSMC接口进行驱动 的,就模拟SPI的,看的一些例程都是采用FSMC进行写显存的
回复

使用道具 举报

1万

主题

7万

回帖

11万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
116225
QQ
发表于 2024-12-5 09:48:19 | 显示全部楼层
Y1ng 发表于 2024-12-5 09:13
LCD不是采用FSMC接口进行驱动 的,就模拟SPI的,看的一些例程都是采用FSMC进行写显存的

模拟SPI也可以,本身这种LCD带了一个显存的。
回复

使用道具 举报

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

本版积分规则

QQ|小黑屋|Archiver|手机版|硬汉嵌入式论坛

GMT+8, 2025-6-10 15:21 , Processed in 0.259194 second(s), 27 queries .

Powered by Discuz! X3.4 Licensed

Copyright © 2001-2023, Tencent Cloud.

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