转载于:http://blog.csdn.net/u012819339/article/details/50654764

实体作品请参看优酷视频。 
若以上链接点击无效请把该链接地址复制到浏览器地址栏 http://v.youku.com/v_show/id_XODYzODczNzQ4.html

说明: 
该作品为arvik于2014年下半年在学校实验室做的一个国家级大学生科技创新项目,大概花了两个多月课余时间完成。 
其实博客早在几个月前就写好了,一共3篇,后来发现第一篇丢失。本想补起来,却没有时间,且实际作品早已拆开,保留在学校“博物馆”,没办法重新试验了,就不补了。


本篇主要是代码,不多赘述,直接贴关键代码,代码不详细解释了,稍微花点功夫应该能看懂。

软件部分直接贴代码讲解,main函数如下,创建起始任务

static OS_STK startup_task_stk[STARTUP_TASK_STK_SIZE];        //定义栈int main(void)
{BSP_Init(); OSInit(); OSTaskCreate(Task_LED,(void *)0, &startup_task_stk[STARTUP_TASK_STK_SIZE-1], STARTUP_TASK_PRIO); OSStart(); return 0; }

在Task_LED任务中:

#include "includes.h"#include "err.h"
#include "lwip/init.h"
#include "etharp.h"
#include "udp.h" #include "tcp.h" #include "httpd.h" #include "stm32f10x.h" #include "OV7725.h" #include "Imag_App.h" #include "usart1.h" #include "SCCB.h" #include "Imag_App.h" OS_STK task_led2_stk[TASK_LED2_STK_SIZE]; OS_STK task_led3_stk[TASK_LED3_STK_SIZE]; extern volatile u8 Frame_Count; extern int UDP_task(); extern struct netif enc28j60; void Task_LED(void *p_arg) { (void)p_arg; OSTaskCreate(Task_LED3,(void *)0, &task_led3_stk[TASK_LED3_STK_SIZE-1], TASK_LED3_PRIO); OSTaskCreate(Task_LED2,(void *)0, &task_led2_stk[TASK_LED2_STK_SIZE-1], TASK_LED2_PRIO); while (1) //TCP定时器 { LED1( ON ); OSTimeDlyHMSM(0, 0,0,250); LED1( OFF); tcp_tmr(); OSTimeDlyHMSM(0, 0,0,250); tcp_tmr(); //每250ms调用一次 } } void Task_LED2(void *p_arg) //arp任务 { (void)p_arg; while(1) { LED2(ON); OSTimeDlyHMSM(0,0,5,0); etharp_tmr(); //每5s调用一次 LED2(OFF); OSTimeDlyHMSM(0,0,5,0); etharp_tmr(); //每5s调用一次 } } extern struct udp_pcb *UdpPcb; extern struct pbuf *p; extern Data OVdata; void Task_LED3(void *p_arg) { (void)p_arg; //摄像头 SCCB_GPIO_Configuration(); FIFO_GPIO_Configuration(); while(Ov7725_Init() != SUCCESS); VSYNC_Init(); Ov7725_vsync = 0; //LWIP初始化 UDP_task(); OSTimeDlyHMSM(0,0,0,100); //等待其他任务初始化完毕 // p = pbuf_alloc(PBUF_RAW,sizeof(OVdata),PBUF_RAM); // p->payload = (void *)(&OVdata); while(1) { ethernetif_input(&enc28j60); //轮询是否接收到数据 if( Ov7725_vsync == 2 ) { FIFO_PREPARE; /*FIFO准备*/ Get_imag_and_discor(); /*采集并显示*/ Ov7725_vsync = 0; Frame_Count++; /*帧计数器加1*/ } LED3(ON); OSTimeDlyHMSM(0,0,0,4); LED3(OFF); } }

相关资料阅读: 
LWIP协议请参看网上老衲五木的 lwip协议详解 
摄像头部分代码请参看野火的PDF教程,毕竟摄像头是直接用的野火的代码,同鞋们也可以用正点原子的代码(开源电子网)或奋斗论坛的代码,可到相关论坛收集相关资料。 
ucos-ii操作系统网上论坛有不少资料,也可在我的博客(http://blog.csdn.net/u012819339)查找相关内容。

酱紫,就介绍到这儿了。

转载于:https://www.cnblogs.com/tureno/articles/7173647.html

转:【小作品】STM32无线WIFI视频小车制作剖析(下)相关推荐

  1. 【小作品】STM32无线WIFI视频小车制作剖析(上)

    实体作品请参看优酷视频. 若以上链接点击无效请把该链接地址复制到浏览器地址栏 http://v.youku.com/v_show/id_XODYzODczNzQ4.html 说明: 该作品为arvik ...

  2. android wifi智能车,STM32智能WiFi视频小车全套资料(带安卓app与stm32源码等)

    /* 包含头文件 ----------------------------------------------------------------*/ #include "stm32f1xx ...

  3. 【esp8266】小黑板ESP8266无线wifi SoC方案连接机智云最详细图文教程

    前言:本文详细介绍了小黑板接入机智云教程,通过一个手机APP远程控制LED亮灭的应用,完整的体验了机智云提供的一些列简单方便的开发工具,尤其是代码自动生成工具,懒人福音. 一. esp8266简介 E ...

  4. 无线WiFi视频传输,无线视频流云端推送方案,天工测控WiFi模块SKW99

    文章目录 前言 一.200W高清视频传输方案 1.方案背景 2.200W高清视频传输方案介绍 3.无线高清视频传输方案优势 二.无线视频流云端推送方案 1.方案背景 2.无线视频流云端推送方案介绍 3 ...

  5. 无线wifi智能小车项目java,项目案例:智能小车

    1.智能小车项目案例演示 2.智能小车项目背景 所谓智能汽车,主要指在普通汽车的基础上增加了先进的传感器(雷达.摄像).控制器.执行器等装置,通过车载传感系统和信息终端实现与人.车.路之间的智能信息交 ...

  6. 【科技小作品】Arduino计数储蓄罐的制作教程

    效果图 1.材料准备 母头杜邦线若干 测速传感器模块(槽型光耦)一个 四位数码管模块(x1) arduino R3主板(x1) 电池盒(x1) USB 方口打印数据连接线(x1) 硬纸板一张,厚度自定 ...

  7. python小应用之moviepy的视频剪辑制作gif图

    对视频动画的编辑可以使用python的moviepy库,官方文档: http://zulko.github.io/moviepy/ 1.进入cmd,pip install moviepy 2.使用代码 ...

  8. 最简单DIY基于STM32单片机的WIFI智能小车设计方案

    STM32库函数开发系列文章目录 第一篇:STM32F103ZET6单片机双串口互发程序设计与实现 第二篇:最简单DIY基于STM32单片机的蓝牙智能小车设计方案 第三篇:最简单DIY基于STM32F ...

  9. Mac连接路由器后没有反应_无线WiFi无法连接到网络怎么办【解决方法】

    想必小伙伴们都或多或少遇到过无线 WiFi无法连接到网络 的情况.无线 WiFi无法连接到网络 的原因有很多,遇到这种情况我们应该从最基本的的原因开始排查. 密码输入错误 手机/电脑输入密码不正确是导 ...

最新文章

  1. JavaScript toFixed() 方法
  2. 10 年了,腾讯微信后台第一天提交的代码曝光 | 每日趣闻
  3. HSV(HSL)颜色空间及其应用
  4. spring 整合junit进行测试
  5. 汇编原理实验 --查找子字符串的位置
  6. Java并发编程—ScheduledThreadPoolExecutor原理分析
  7. 文献学习(part44)--Aberrance suppresse dspatio-temporal correlation filters for visual object tracking
  8. python网络库_python的网络库
  9. 【Vue2.0】—mixin混入 (十五)
  10. rdlc报表的制作步骤
  11. js获取验证码倒计时60s(超简单)
  12. 小程序 云函数 python_小程序云函数
  13. 【数据结构实验题】0/1背包问题的递归求解(注意输出所选物品下标的方法)
  14. Linux curl命令详解
  15. Vue安装步骤及教程(详细)
  16. 叉乘点乘混合运算公式_【“数”你好看】对数运算(Logarithm)
  17. ZR1012 Zbox loves keyboard (dp)
  18. C语言malloc与calloc区别
  19. Apache BookKeeper 简介
  20. free pascal

热门文章

  1. 浪潮服务器怎么装虚拟机,VMware 6.7系统安装步骤
  2. linux 3.4内核初始化,S3C2440移植linux3.4.2内核之内核框架介绍及简单修改
  3. 计算机性能指标ppt,计算机网络分类与主要性能指标.ppt
  4. linux 脚本 字符串函数调用函数调用,shell自定义函数及参数调用解析
  5. html控件无法使用的属性值,用 Enabled 和 disabled 属性禁用 HTML 控件后,取值结果...
  6. 晴天计算机按键,电脑怎样才能在按键的时候,按下去按键没反应,手台起来才有呢?...
  7. laravel ajax返回json,Laravel validate error处理,ajax,json示例
  8. mysql pt table sync_pt-table-sync 使用介绍
  9. 服务器开机只显示cdm,电脑开机黑屏出现cdm.exe对话框怎么处理?!我的扣扣
  10. QT:qt安装缺少GUI Application 选项