-
大小: 6.73MB文件類型: .rar金幣: 2下載: 0 次發布日期: 2023-10-02
- 語言: 其他
- 標簽: STM32??OV2640??esp8266wifi??
資源簡介
本實驗基于stm32103開發,實現讀取OV2640攝像頭采集的圖像信息,并存入數組,通過esp8266wifi模塊,把數據發送到云端。本例程只提供硬件端代碼,服務器端需自己實現。
此外若只用OV2640部分則可把WiFi傳輸部分注釋即可,OV2640和WiFi均作了封裝分離,用者自取。部分代碼如下:
u8 ov2640_jpg_photo()
{
u8 res=0;
u32 i=0,t=0,j=0,c;
u32 jpeglen=0;
u8* pbuf;
u32 Len=0;
u8 s[4];
OV2640_JPEG_Mode(); //切換為JPEG模式
OV2640_OutSize_Set(OV2640_JPEG_WIDTH,OV2640_JPEG_HEIGHT);
SCCB_WR_Reg(0XFF,0X00);
SCCB_WR_Reg(0XD3,30);
SCCB_WR_Reg(0XFF,0X01);
SCCB_WR_Reg(0X11,0X1);
for(i=0;i<10;i++) //丟棄10幀,等待OV2640自動調節好(曝光白平衡之類的)
{
while(OV2640_VSYNC==1);
while(OV2640_VSYNC==0);
}
while(OV2640_VSYNC==1) //開始采集jpeg數據
{
while(OV2640_HREF)
{
while(OV2640_PCLK==0);
ov2640_framebuf[jpeglen]=OV2640_DATA;
while(OV2640_PCLK==1);
jpeglen++;
}
}
pbuf=(u8*)ov2640_framebuf;
for(i=0;i>24);
s[1]=(u8)(((Len)&0xff0000;)>>16);
s[2]=(u8)(((Len)&0xff00;)>>8);
s[3]=(u8)((Len)&0xff;);
for(c=0;cDR=s[c];
while((USART1->SR&0X40;)==0);
}
SendRAMDate(Len,pbuf);
}
return res;
}

代碼片段和文件信息
/**************************************************************************//**
?*?@file?????core_cm3.c
?*?@brief????CMSIS?Cortex-M3?Core?Peripheral?Access?layer?Source?File
?*?@version??V1.30
?*?@date?????30.?October?2009
?*
?*?@note
?*?Copyright?(C)?2009?ARM?Limited.?All?rights?reserved.
?*
?*?@par
?*?ARM?Limited?(ARM)?is?supplying?this?software?for?use?with?Cortex-M?
?*?processor?based?microcontrollers.??This?file?can?be?freely?distributed?
?*?within?development?tools?that?are?supporting?such?ARM?based?processors.?
?*
?*?@par
?*?THIS?SOFTWARE?IS?PROVIDED?“AS?IS“.??NO?WARRANTIES?WHETHER?EXPRESS?IMPLIED
?*?OR?STATUTORY?INCLUDING?BUT?NOT?LIMITED?TO?IMPLIED?WARRANTIES?OF
?*?MERCHANTABILITY?AND?FITNESS?FOR?A?PARTICULAR?PURPOSE?APPLY?TO?THIS?SOFTWARE.
?*?ARM?SHALL?NOT?IN?ANY?CIRCUMSTANCES?BE?LIABLE?FOR?SPECIAL?INCIDENTAL?OR
?*?CONSEQUENTIAL?DAMAGES?FOR?ANY?REASON?WHATSOEVER.
?*
?******************************************************************************/
#include?
/*?define?compiler?specific?symbols?*/
#if?defined?(?__CC_ARM???)
??#define?__ASM????????????__asm??????????????????????????????????????/*!??#define?__INLINE?????????__inline???????????????????????????????????/*!
#elif?defined?(?__ICCARM__?)
??#define?__ASM???????????__asm???????????????????????????????????????/*!??#define?__INLINE????????inline??????????????????????????????????????/*!
#elif?defined???(??__GNUC__??)
??#define?__ASM????????????__asm??????????????????????????????????????/*!??#define?__INLINE?????????inline?????????????????????????????????????/*!
#elif?defined???(??__TASKING__??)
??#define?__ASM????????????__asm??????????????????????????????????????/*!??#define?__INLINE?????????inline?????????????????????????????????????/*!
#endif
/*?###################??Compiler?specific?Intrinsics??###########################?*/
#if?defined?(?__CC_ARM???)?/*------------------RealView?Compiler?-----------------*/
/*?ARM?armcc?specific?functions?*/
/**
?*?@brief??Return?the?Process?Stack?Pointer
?*
?*?@return?ProcessStackPointer
?*
?*?Return?the?actual?process?stack?pointer
?*/
__ASM?uint32_t?__get_PSP(void)
{
??mrs?r0?psp
??bx?lr
}
/**
?*?@brief??Set?the?Process?Stack?Pointer
?*
?*?@param??topOfProcStack??Process?Stack?Pointer
?*
?*?Assign?the?value?ProcessStackPointer?to?the?MSP?
?*?(process?stack?pointer)?Cortex?processor?register
?*/
__ASM?void?__set_PSP(uint32_t?topOfProcStack)
{
??msr?psp?r0
??bx?lr
}
/**
?*?@brief??Return?the?Main?Stack?Pointer
?*
?*?@return?Main?Stack?Pointer
?*
?*?Return?the?curren
?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----
?????文件??????17273??2010-06-07?10:25??物聯網OV2640?攝像頭傳送\CORE\core_cm3.c
?????文件??????85714??2011-02-09?14:59??物聯網OV2640?攝像頭傳送\CORE\core_cm3.h
?????文件??????15503??2015-04-30?18:26??物聯網OV2640?攝像頭傳送\CORE\startup_stm32f10x_hd.s
?????文件??????12765??2011-03-10?10:52??物聯網OV2640?攝像頭傳送\CORE\startup_stm32f10x_md.s
?????文件???????4069??2017-08-24?11:08??物聯網OV2640?攝像頭傳送\HARDWARE\ATK-ESP8266\common.c
?????文件???????1442??2017-08-07?10:19??物聯網OV2640?攝像頭傳送\HARDWARE\ATK-ESP8266\common.h
?????文件????????872??2017-08-24?11:05??物聯網OV2640?攝像頭傳送\HARDWARE\ATK-ESP8266\wifista.c
?????文件?????????89??2017-07-10?15:23??物聯網OV2640?攝像頭傳送\HARDWARE\ATK-ESP8266\wifista.h
?????文件??????11015??2017-08-06?11:25??物聯網OV2640?攝像頭傳送\HARDWARE\OV2640\ov2640.c
?????文件???????4880??2017-08-06?11:26??物聯網OV2640?攝像頭傳送\HARDWARE\OV2640\ov2640.h
?????文件???????6742??2015-04-16?20:39??物聯網OV2640?攝像頭傳送\HARDWARE\OV2640\ov2640cfg.h
?????文件???????3703??2017-08-06?09:28??物聯網OV2640?攝像頭傳送\HARDWARE\OV2640\sccb.c
?????文件???????1058??2017-08-06?11:11??物聯網OV2640?攝像頭傳送\HARDWARE\OV2640\sccb.h
?????文件???????3381??2012-10-07?11:30??物聯網OV2640?攝像頭傳送\HARDWARE\SPI\spi.c
?????文件????????718??2012-09-16?16:49??物聯網OV2640?攝像頭傳送\HARDWARE\SPI\spi.h
?????文件???????2403??2017-08-06?20:02??物聯網OV2640?攝像頭傳送\HARDWARE\TIMER\timer.c
?????文件????????628??2015-04-30?18:16??物聯網OV2640?攝像頭傳送\HARDWARE\TIMER\timer.h
?????文件???????4735??2015-03-31?20:56??物聯網OV2640?攝像頭傳送\HARDWARE\TPAD\tpad.c
?????文件????????802??2015-03-31?20:56??物聯網OV2640?攝像頭傳送\HARDWARE\TPAD\tpad.h
?????文件????????399??2011-04-23?10:24??物聯網OV2640?攝像頭傳送\keilkilll.bat
?????文件???????5278??2015-04-30?18:18??物聯網OV2640?攝像頭傳送\MALLOC\malloc.c
?????文件???????2340??2015-04-30?18:27??物聯網OV2640?攝像頭傳送\MALLOC\malloc.h
?????文件?????359642??2017-08-06?20:02??物聯網OV2640?攝像頭傳送\OBJ\apsta.crf
?????文件???????1921??2017-08-06?20:02??物聯網OV2640?攝像頭傳送\OBJ\apsta.d
?????文件?????349387??2017-08-05?17:47??物聯網OV2640?攝像頭傳送\OBJ\beep.crf
?????文件???????1635??2017-08-05?17:47??物聯網OV2640?攝像頭傳送\OBJ\beep.d
?????文件?????383732??2017-08-05?17:47??物聯網OV2640?攝像頭傳送\OBJ\beep.o
?????文件?????386732??2017-08-05?17:48??物聯網OV2640?攝像頭傳送\OBJ\bmp.crf
?????文件???????1786??2017-08-06?20:03??物聯網OV2640?攝像頭傳送\OBJ\bmp.d
?????文件?????356416??2018-05-12?17:02??物聯網OV2640?攝像頭傳送\OBJ\CAMERA.axf
............此處省略237個文件信息
評論
共有 條評論