日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 人文社科 > 生活经验 >内容正文

生活经验

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

發布時間:2023/11/27 生活经验 42 豆豆
生活随笔 收集整理的這篇文章主要介紹了 转:【小作品】STM32无线WIFI视频小车制作剖析(下) 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

轉載于: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视频小车制作剖析(下)的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。