OpenEdv-开源电子网

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

STM32F407最小系统板,将ov2640存储后发送到lcd屏,结果lcd屏上出现四个同样的窗口并且视野都只有摄像头左下角

[复制链接]

2

主题

10

帖子

0

精华

新手入门

积分
10
金钱
10
注册时间
2023-6-28
在线时间
11 小时
发表于 2023-7-2 11:15:49 | 显示全部楼层 |阅读模式
7金钱
大佬们救救,程序是在摄像头例程的基础上修改的。

4ca18c14d72ac4e50bdd67e3adf2fcb.jpg

stm32f407+ov2640.zip

8.96 MB, 下载次数: 16

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

使用道具 举报

2

主题

10

帖子

0

精华

新手入门

积分
10
金钱
10
注册时间
2023-6-28
在线时间
11 小时
 楼主| 发表于 2023-7-2 12:45:13 | 显示全部楼层
试验目的是做一个边缘识别的相关程序,但是在第一步就卡住了,如果有大佬可以提供能在暂存再发lcd的完整代码可以有偿,论坛里的有一些相关代码我下下来都没有反应,类似的改写也没有结果,用板是STM32F407最小系统板,摄像头是ov2640。
回复

使用道具 举报

12

主题

3379

帖子

1

精华

论坛元老

Rank: 8Rank: 8

积分
8600
金钱
8600
注册时间
2020-5-11
在线时间
4019 小时
发表于 2023-7-3 11:58:47 | 显示全部楼层
本帖最后由 LcwSwust 于 2023-7-3 12:01 编辑

如果例程正常,那就对比一下看改了哪些地方.
比如摄像头数据是1字节还是2字节、DMA的数据是1字节还是2字节、显示屏的数据是1字节还是2字节、
以及摄像头的配置是否VGA、QCIF等。
要不再试一下摄像头的窗口宽度与高度均乘2?
专治疑难杂症
回复

使用道具 举报

2

主题

10

帖子

0

精华

新手入门

积分
10
金钱
10
注册时间
2023-6-28
在线时间
11 小时
 楼主| 发表于 2023-7-4 15:48:07 | 显示全部楼层
LcwSwust 发表于 2023-7-3 11:58
如果例程正常,那就对比一下看改了哪些地方.
比如摄像头数据是1字节还是2字节、DMA的数据是1字节还是2字节 ...

刚刚才上手板子有很多看不懂,我想请问一下为什么我在很多帖子里看到别人分享的探索者加2640的程序我自己跑的时候都没有反应,是这几年板子之类发生变化了吗
回复

使用道具 举报

2

主题

10

帖子

0

精华

新手入门

积分
10
金钱
10
注册时间
2023-6-28
在线时间
11 小时
 楼主| 发表于 2023-7-4 16:11:36 | 显示全部楼层
LcwSwust 发表于 2023-7-3 11:58
如果例程正常,那就对比一下看改了哪些地方.
比如摄像头数据是1字节还是2字节、DMA的数据是1字节还是2字节 ...

还有想请教一下您,想对摄像头输出的像素进行处理的话是暂存后再处理好还是传到lcd上我再读屏比较好,我现在在尝试读屏,但是我用历程中的lcd_read_point遍历读取例如200*300范围内数据就会出问题直接没图像了,读取几十个则没有问题,我是在摄像头历程中的rgb565_test函数下的while循环里先停dcmi再做处理的。
void rgb565_test(void)
{
    uint8_t key;
    uint8_t effect = 0, saturation = 3, contrast = 2;
    uint8_t scale = 1;          /* 默认是全尺寸缩放 */
    uint8_t msgbuf[15];         /* 消息缓存区 */

    lcd_clear(WHITE);
    lcd_show_string(30, 50, 200, 16, 16, "STM32", RED);
    lcd_show_string(30, 70, 200, 16, 16, "OV2640 RGB565 Mode", RED);
    lcd_show_string(30, 100, 200, 16, 16, "KEY0:Contrast", RED);            /* 对比度 */
    lcd_show_string(30, 120, 200, 16, 16, "KEY1:Saturation", RED);          /* 执行自动对焦 */
    lcd_show_string(30, 140, 200, 16, 16, "KEY2:Effects", RED);             /* 特效 */
    lcd_show_string(30, 160, 200, 16, 16, "KEY_UP:FullSize/Scale", RED);    /* 1:1尺寸(显示真实尺寸)/全尺寸缩放 */

    ov2640_rgb565_mode();       /* RGB565模式 */
    dcmi_init();                /* DCMI配置 */
    dcmi_dma_init((uint32_t)&LCD->LCD_RAM, 0, 1, DMA_MDATAALIGN_HALFWORD, DMA_MINC_DISABLE); /* DCMI DMA配置,MCU屏,竖屏 */
    ov2640_outsize_set(lcddev.width, lcddev.height);    /* 满屏缩放显示 */
    dcmi_start();               /* 启动传输 */
   
    while (1)
    {
        key = 1;

        if (key)
        {
            dcmi_stop();        /* 停止显示 */
            hsv_detect();
            dcmi_start();   /* 重新开始传输 */
        }
        delay_ms(10);
    }
}
void hsv_detect(void)
{
    uint32_t i,j,k;
    uint32_t color[20];
    lcd_draw_line(91,150,91,155,0x1F);
    lcd_draw_line(90,150,90,155,0x1F);
    lcd_draw_line(91,180,91,175,0x1F);
    lcd_draw_line(90,180,90,175,0x1F);
    for(i = 0;i < 20; i++)
    {
    color = lcd_read_point(90,155+i);
    }
    red_detect(color);
    return;
}
如我把color的大小改到比较大的情况就会直接卡住没有反应,这种情况可能是什么原因呢
回复

使用道具 举报

2

主题

10

帖子

0

精华

新手入门

积分
10
金钱
10
注册时间
2023-6-28
在线时间
11 小时
 楼主| 发表于 2023-7-4 16:30:15 | 显示全部楼层
针尾鸭 发表于 2023-7-4 16:11
还有想请教一下您,想对摄像头输出的像素进行处理的话是暂存后再处理好还是传到lcd上我再读屏比较好,我 ...

代码我放到这个帖子里了
http://47.111.11.73/thread-344475-1-1.html
回复

使用道具 举报

12

主题

3379

帖子

1

精华

论坛元老

Rank: 8Rank: 8

积分
8600
金钱
8600
注册时间
2020-5-11
在线时间
4019 小时
发表于 2023-7-5 09:10:06 | 显示全部楼层
针尾鸭 发表于 2023-7-4 15:48
刚刚才上手板子有很多看不懂,我想请问一下为什么我在很多帖子里看到别人分享的探索者加2640的程序我自己 ...

不清楚,没买过。
专治疑难杂症
回复

使用道具 举报

12

主题

3379

帖子

1

精华

论坛元老

Rank: 8Rank: 8

积分
8600
金钱
8600
注册时间
2020-5-11
在线时间
4019 小时
发表于 2023-7-5 09:14:43 | 显示全部楼层
针尾鸭 发表于 2023-7-4 16:11
还有想请教一下您,想对摄像头输出的像素进行处理的话是暂存后再处理好还是传到lcd上我再读屏比较好,我 ...

如果RAM够用当然就是RAM里处理最好,读屏可能速度会比较慢、或受干扰。
数组不能无限大,得看RAM够不够,而且局部变量一般是存于堆栈的,你得看堆栈的大小(startup_stm32f407xx.s中有定义)是否够用。
建议将color拿出来定义成全局变量。
专治疑难杂症
回复

使用道具 举报

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

本版积分规则



关闭

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

正点原子公众号

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

GMT+8, 2025-4-18 06:57

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

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