查看: 242|回复: 2

[技术] 【赚周年币】技术帖Week1-Day2——Fireduino学习20:读OV7670图...

[复制链接]

1553

主题

25

好友

1万

积分

翰林

Rank: 7Rank: 7Rank: 7

  • TA的每日心情
    奋斗
    昨天 08:16
  • 签到天数: 982 天

    连续签到: 3 天

    [LV.10]以坛为家III

    活跃会员勋章 发帖机器勋章 在线之王勋章

    发表于 2017-1-6 15:08:42 |显示全部楼层
            上篇讲了OV7670寄存器的读写,说明可以进行基本的操作了,这次就来说说如何读取一帧图像。
             图像采集就是从 FIFO 缓冲器 AL422B 读取一帧图像,然后串口打印每个点的颜色值。因为没有LCD显示器,目前先这么来处理看看。本程序就只先读取一帧图像来测试。根据帧同步信号的电平来判断是装入数据到FIFO还是数据装入完毕才进行处理,装完以后在主程序里读取图像数据,并上传到串口打印到PC。
        按照 AL422B 的工作时序读取一帧图像数据;在初始化的时候已经设置为320*240的图像大小了。一个 FOR 循环读两次,一次读 8 位,两次就刚好一个 16位RGB565 的像素点。一帧图像宽高是 320×240=76800个像素点,循环 76800次读完一帧图像。

    引脚初始化定义,数据引脚和控制引脚,SSCB总线引脚是直接使用的。
    1.png

    项目初始化,OV7670的配置用的是别人写好的库,参数配置都在库里面
    2.png
    3.png

    现成的库
    OV7670.rar (1.68 KB, 下载次数: 8)

    帧同步中断函数
    4.png

    主函数
    5.png
    6.png

    串口打印的数据,这个是摄像头盖没打开时的数据
    7.png

    摄像头盖子打开的数据,数据有明显的变化
    8.png

    实物接线图
    9.png

    已有 2 人评分 收起 理由
    EEboard爱板网 + 3 3周发帖养成记 奖励
    loveeeboard + 30

    总评分:  + 33   查看全部评分

    回复

    使用道具 举报

    176

    主题

    4

    好友

    6137

    积分

    状元

    Rank: 6Rank: 6

  • TA的每日心情
    开心
    昨天 21:37
  • 签到天数: 705 天

    连续签到: 19 天

    [LV.9]以坛为家II

    发表于 2017-5-25 23:20:46 |显示全部楼层
    仔细看你的程序有问题,首先main()中括号个数不匹配,不知道是不是故意
    回复

    使用道具 举报

    1553

    主题

    25

    好友

    1万

    积分

    翰林

    Rank: 7Rank: 7Rank: 7

  • TA的每日心情
    奋斗
    昨天 08:16
  • 签到天数: 982 天

    连续签到: 3 天

    [LV.10]以坛为家III

    活跃会员勋章 发帖机器勋章 在线之王勋章

    发表于 2017-6-2 08:09:26 |显示全部楼层
    suoma 发表于 2017-5-25 23:20
    仔细看你的程序有问题,首先main()中括号个数不匹配,不知道是不是故意

    是匹配的,注意上面主程序是两张截图,截图有的部分重复了
    回复

    使用道具 举报

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

    关闭

    站长推荐上一条 /4 下一条

    手机版|爱板网 |网站地图  

    GMT+8, 2017-7-22 00:55 , Processed in 0.108580 second(s), 13 queries , Memcache On.

    苏公网安备 32059002001056号

    Powered by Discuz!

    回顶部