全功能智能车之野火鹰眼7225摄像头最后完成总结(第六篇)

本文主要是介绍全功能智能车之野火鹰眼7225摄像头最后完成总结(第六篇),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

野火鹰眼7225摄像头最后完成总结:
1.鹰眼摄像头设置摄像头输出数据大小是不能够实现的,就是说配置摄像头寄存器想要的大小并不能够实现摄像头数据输出自己想要的大小,这个或许是和二值化电路有关,具体不再深究
2.摄像头数据是这样的格式:
每个PLCK上升沿输出八个像素的数据,1表示该像素为黑色,0则为白色,所以用DMA来传输数据,最后要的分辨率是320X240,也就是40*8X240,每次处理一行数据,所以DMA的次数是40,也就说纯数据的数组的大小为40.
u8 Row[40];
u16 dma_size=40;
DMA_InitStructure.DMA_BufferSize = dma_size ;
3.因为每位代表一个像素的黑或者白,如果用不同的显示方法显示一行数据要用40个FOR循环,每个循环执行八个左移,最后代码算数量十分之大,这样的话STM32是肯定跟不上摄像头的,所以这里用了STM32的内存位带操作,这样就不需要左移了,直接判断就行,行中断如下:
 //外部中断3服务程序  即行同步信号HREF中断
void EXTI3_IRQHandler(void)
{            
    u16 j;
    u32 *p;
    if(EXTI_GetITStatus(EXTI_Line3)!=RESET)//是3线的中断
    {   
    MYDMA_Enable(DMA1_Channel4);            //TIM3的UPDATE对应DMA的通道3   开始一次DMA传输
        p=(u32 *)(0x22000000+(((u32)Row &0xFFFFF)<<5)+0*4);    //用位带操作 这样应该能够更加的节省时间
        for(j=0;j<320;j++)
        {
            if(*p) LCD->LCD_RAM=BLACK;
            else LCD->LCD_RAM=WHITE;
            p++;
        }
    }
    EXTI_ClearITPendingBit(EXTI_Line3);  //清除EXTI6线路挂起位                         
}
4.场中断归零LCD:
 //外部中断4服务程序  即场同步信号HREF中断
void EXTI4_IRQHandler(void)
{            
    if(EXTI_GetITStatus(EXTI_Line4)!=RESET)//是3线的中断
    {   
          LCD_Scan_Dir(U2D_L2R);        //从上到下,从左到右
            LCD_SetCursor(0x00,0x00);    //设置光标位置
            LCD_WriteRAM_Prepare();     //开始写入GRAM   
          MYDMA_Enable(DMA1_Channel4);  //为了采样第一行数据
          LED0=!LED0;
          ov_frame ++;   //统计帧率
    }
    EXTI_ClearITPendingBit(EXTI_Line4);  //清除EXTI6线路挂起位                         
}


2016-03-24:

由于有网友反映不知道硬件连接怎么连,这里将我写在书上的笔记上传上来,这里再次说明用的开发板是原子公司的战舰开发板,这里将上传图片,怎么连接请大家仔细琢磨,如有疑问,请邮箱联系,QQ邮箱:384710930@qq.com    这里感谢网友关注。


如果看不清楚,这里看这里的的压缩文件里的图片

http://download.csdn.net/detail/chengdong1314/9471920


源码地址:http://download.csdn.net/detail/chengdong1314/9256119


这篇关于全功能智能车之野火鹰眼7225摄像头最后完成总结(第六篇)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/727575

相关文章

SQL中JOIN操作的条件使用总结与实践

《SQL中JOIN操作的条件使用总结与实践》在SQL查询中,JOIN操作是多表关联的核心工具,本文将从原理,场景和最佳实践三个方面总结JOIN条件的使用规则,希望可以帮助开发者精准控制查询逻辑... 目录一、ON与WHERE的本质区别二、场景化条件使用规则三、最佳实践建议1.优先使用ON条件2.WHERE用

java对接海康摄像头的完整步骤记录

《java对接海康摄像头的完整步骤记录》在Java中调用海康威视摄像头通常需要使用海康威视提供的SDK,下面这篇文章主要给大家介绍了关于java对接海康摄像头的完整步骤,文中通过代码介绍的非常详细,需... 目录一、开发环境准备二、实现Java调用设备接口(一)加载动态链接库(二)结构体、接口重定义1.类型

Nginx Location映射规则总结归纳与最佳实践

《NginxLocation映射规则总结归纳与最佳实践》Nginx的location指令是配置请求路由的核心机制,其匹配规则直接影响请求的处理流程,下面给大家介绍NginxLocation映射规则... 目录一、Location匹配规则与优先级1. 匹配模式2. 优先级顺序3. 匹配示例二、Proxy_pa

Android学习总结之Java和kotlin区别超详细分析

《Android学习总结之Java和kotlin区别超详细分析》Java和Kotlin都是用于Android开发的编程语言,它们各自具有独特的特点和优势,:本文主要介绍Android学习总结之Ja... 目录一、空安全机制真题 1:Kotlin 如何解决 Java 的 NullPointerExceptio

C/C++和OpenCV实现调用摄像头

《C/C++和OpenCV实现调用摄像头》本文主要介绍了C/C++和OpenCV实现调用摄像头,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一... 目录准备工作1. 打开摄像头2. 读取视频帧3. 显示视频帧4. 释放资源5. 获取和设置摄像头属性

基于Python实现智能天气提醒助手

《基于Python实现智能天气提醒助手》这篇文章主要来和大家分享一个实用的Python天气提醒助手开发方案,这个工具可以方便地集成到青龙面板或其他调度框架中使用,有需要的小伙伴可以参考一下... 目录项目概述核心功能技术实现1. 天气API集成2. AI建议生成3. 消息推送环境配置使用方法完整代码项目特点

MySQL基本查询示例总结

《MySQL基本查询示例总结》:本文主要介绍MySQL基本查询示例总结,本文通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友参考下吧... 目录Create插入替换Retrieve(读取)select(确定列)where条件(确定行)null查询order by语句li

JavaScript实战:智能密码生成器开发指南

本文通过JavaScript实战开发智能密码生成器,详解如何运用crypto.getRandomValues实现加密级随机密码生成,包含多字符组合、安全强度可视化、易混淆字符排除等企业级功能。学习密码强度检测算法与信息熵计算原理,获取可直接嵌入项目的完整代码,提升Web应用的安全开发能力 目录

利用Python实现Excel文件智能合并工具

《利用Python实现Excel文件智能合并工具》有时候,我们需要将多个Excel文件按照特定顺序合并成一个文件,这样可以更方便地进行后续的数据处理和分析,下面我们看看如何使用Python实现Exce... 目录运行结果为什么需要这个工具技术实现工具的核心功能代码解析使用示例工具优化与扩展有时候,我们需要将

POI从入门到实战轻松完成EasyExcel使用及Excel导入导出功能

《POI从入门到实战轻松完成EasyExcel使用及Excel导入导出功能》ApachePOI是一个流行的Java库,用于处理MicrosoftOffice格式文件,提供丰富API来创建、读取和修改O... 目录前言:Apache POIEasyPoiEasyExcel一、EasyExcel1.1、核心特性