久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 9079|回復: 3
打印 上一主題 下一主題
收起左側

OV2640攝像頭和WIFI傳輸的STM32代碼(含新建工程步驟)

[復制鏈接]
跳轉到指定樓層
樓主
V1_4(103R WiFi V1_2_1)完成:
1. 鼠標移植(內核注釋);
2. SD卡驅動(片上SPI驅動)
3. FatFs移植

4.wifi SPI測試,修改片上SPI驅動,16位數據傳輸
5.完成固件下載,初始化時修正了中斷使能;
6.wifi模塊上電后可以下載固件,固件下載成功后再次下載提示不成功。

7.添加外中斷和定時器服務,并暫時移除固件數組

8.定時器暫未添加,轉而為USB固件代碼添加打印輸出信息(信息輸出添加在usb_core.c和usb_istr.c中)。

9.添加了Mass_Storage,將調試控制開關移到了usb_core.c中,增加了在MyBSP文件下的USB文件中,增加各種
USB設備類型的固件代碼,并將hw_config.c/h作為通用的共享文件,獨立放在hw_config文件夾下。

10.添加LCD驅動,添加OV模塊,添加BMP編解碼存儲顯示;在Nvic_Exit中新增加Rename_Pin.h,以方便端口拼寫。


新建工程步驟:


該文件內包含的是用戶的中斷處理入口程序,中斷入口函數是一個跨越BSP和用戶應用程序的模塊;同時包含了外設庫的配置裁剪頭文件。

部分主函數如下:
  1. /**
  2.   ******************************************************************************
  3.   * @file    GPIO/IOToggle/main.c
  4.   * @author  MCD Application Team
  5.   * @version V3.3.0
  6.   * @date    04/16/2010
  7.   * @brief   Main program body.
  8.   ******************************************************************************
  9.   * @copy
  10.   *
  11.   * THE PRESENT FIRMWARE WHICH IS FOR GUIDANCE ONLY AIMS AT PROVIDING CUSTOMERS
  12.   * WITH CODING INFORMATION REGARDING THEIR PRODUCTS IN ORDER FOR THEM TO SAVE
  13.   * TIME. AS A RESULT, STMICROELECTRONICS SHALL NOT BE HELD LIABLE FOR ANY
  14.   * DIRECT, INDIRECT OR CONSEQUENTIAL DAMAGES WITH RESPECT TO ANY CLAIMS ARISING
  15.   * FROM THE CONTENT OF SUCH FIRMWARE AND/OR THE USE MADE BY CUSTOMERS OF THE
  16.   * CODING INFORMATION CONTAINED HEREIN IN CONNECTION WITH THEIR PRODUCTS.
  17.   *
  18.   * <h2><center>© COPYRIGHT 2010 STMicroelectronics</center></h2>
  19.   */

  20. /* Includes ------------------------------------------------------------------*/
  21. #include "stm32f10x.h"
  22. #include <stdio.h>

  23. #include "usb_lib.h"
  24. #include "hw_config.h"
  25. #include "usb_pwr.h"

  26. #include "MyBspInc.h"
  27. #include "FATFS_008.h"

  28. #include "OnChip_Driver_Inc.h"
  29. #include "../BMP/BMP.h"



  30. #include <stm32f10x.h>

  31. #define sim900_rcc                    RCC_APB2Periph_GPIOB
  32. #define sim900_gpio                   GPIOB
  33. #define sim900_pin                    (GPIO_Pin_0|GPIO_Pin_1|GPIO_Pin_6)

  34. #define led_rcc                    RCC_APB2Periph_GPIOA
  35. #define led_gpio                   GPIOA
  36. #define led_pin                    (GPIO_Pin_4|GPIO_Pin_5|GPIO_Pin_6|GPIO_Pin_7)

  37. unsigned char str1[] = {"AT+RST\r\n"};

  38. unsigned char str2[] = {"AT+CWMODE=3\r\n"};

  39. unsigned char str3[] = {"AT+CWJAP=\"conan\",\"123456789\"\r\n"};

  40. unsigned char str4[] = {"AT+CIPSTART=\"TCP\",\"192.168.191.1\",8989\r\n"};

  41. unsigned char str5[] = {"AT+CIPSEND=16\r\n"};


  42. unsigned char str6[] = {"AT+CIPSEND=5\r\n"};

  43. unsigned char str7[] = {"AT+CIPMODE=1\r\n"};

  44. unsigned char str8[] = {"AT+CIPSEND\r\n"};

  45. void WIFI_Init()
  46. {
  47.          USART_SendString(str2);
  48.          Delay_nMS(1000);
  49.          Delay_nMS(1000);
  50.      Delay_nMS(1000);
  51.      Delay_nMS(1000);
  52.          USART_SendString(str1);
  53.          Delay_nMS(1000);
  54.          Delay_nMS(1000);
  55.      Delay_nMS(1000);
  56.      Delay_nMS(1000);
  57.          USART_SendString(str3);
  58.          Delay_nMS(1000);
  59.          Delay_nMS(1000);
  60.      Delay_nMS(1000);
  61.      Delay_nMS(1000);
  62.          Delay_nMS(1000);
  63.          Delay_nMS(1000);
  64.      Delay_nMS(1000);
  65.      Delay_nMS(1000);
  66.         Delay_nMS(1000);
  67.         Delay_nMS(1000);
  68.         Delay_nMS(1000);
  69.         Delay_nMS(1000);
  70.          USART_SendString(str4);
  71.          Delay_nMS(1000);
  72.          Delay_nMS(1000);

  73. }



  74. void init_gpio_func(void)
  75. {
  76.         GPIO_InitTypeDef GPIO_InitStructure;

  77.     RCC_APB2PeriphClockCmd(sim900_rcc,ENABLE);
  78.         RCC_APB2PeriphClockCmd(led_rcc,ENABLE);

  79.     GPIO_InitStructure.GPIO_Mode  = GPIO_Mode_Out_PP;
  80.     GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;

  81.     GPIO_InitStructure.GPIO_Pin   = sim900_pin;
  82.     GPIO_Init(sim900_gpio, &GPIO_InitStructure);

  83.         GPIO_InitStructure.GPIO_Pin   = led_pin;
  84.         GPIO_Init(led_gpio, &GPIO_InitStructure);

  85. }

  86. void open_ov2640_3v3(void)
  87. {
  88.         GPIO_SetBits(sim900_gpio, GPIO_Pin_6);
  89.         GPIO_ResetBits(sim900_gpio, GPIO_Pin_6);
  90.         //
  91. }




  92. extern unsigned char VsyncCnt;                        //場同步標志        
  93. //////////////////////////////
  94. FATFS fs;                                 // Work area (file system object) for logical drives
  95. FRESULT res;                         // FatFs function common result code
  96. //////////////////////////////
  97. /** @addtogroup STM32F10x_StdPeriph_Examples
  98.   * @{
  99.   */

  100. /** @addtogroup GPIO_IOToggle
  101.   * @{
  102.   */

  103. /* Private typedef -----------------------------------------------------------*/
  104. /* Private define ------------------------------------------------------------*/
  105. /* Private macro -------------------------------------------------------------*/
  106. /* Private variables ---------------------------------------------------------*/
  107. GPIO_InitTypeDef GPIO_InitStructure;

  108. /* Private function prototypes -----------------------------------------------*/
  109. void Delay(__IO uint32_t nCount);



  110. extern u32 JpegDataCnt;
  111. extern u8 JpegBuffer[10240];
  112. extern u8 VsyncActive;
  113. OV2640_IDTypeDef OV2640_Camera_ID;

  114. extern void OV2640_AutoExposure(u8 level);

  115. int main(void)
  116. {
  117.         u16 i = 0;

  118.         ///////////////Delay初始化//////////////////               
  119.         Delay_Init(72);
  120.         ////////////////////////////////////////////
  121.         
  122.         ///////////////USART1初始化/////////////////
  123.         USART1_Init(115200);  
  124.         
  125.         //USART2_Init(9600);

  126.         //delay_ms(1000);
  127.         WIFI_Init();
  128.         Delay_nMS(1000);
  129.         USART_SendString(str7);
  130.         Delay_nMS(1000);
  131.         USART_SendString(str8);
  132.         
  133.         //init_gpio_func();
  134.         //open_ov2640_3v3();


  135.         OV2640_HW_Init();                                        //IIC初始化                                                                                //作用是在一段內存塊中填充某個特定的值
  136.         memset(&OV2640_Camera_ID,0x0,sizeof(OV2640_IDTypeDef)); //是對較大的結構體或數組進行清零操作的一種最快方法

  137.         OV2640_ReadID(&OV2640_Camera_ID);        //讀取OV2640ID,測試硬件,依次為:0x7F,0xA2,0x26,0x42

  138.         OV2640_JPEGConfig(JPEG_320x240);        //配置OV2640輸出320*240像素的JPG圖片
  139.         
  140.         //設置自動曝光和白平衡
  141.         OV2640_BrightnessConfig(0x20);
  142.         OV2640_AutoExposure(2);


  143.         OV2640_CaptureGpioInit();                                //數據采集引腳初始化
  144.         EXTI->IMR &= ~EXTI_Line8;                                //關閉場同步中斷
  145.         EXTI->EMR &= ~EXTI_Line8;        
  146.         
  147.         EXTI->IMR &= ~EXTI_Line15;                                //關閉像素同步中斷
  148.         EXTI->EMR &= ~EXTI_Line15;        
  149.         
  150.         Delay_nMS(10);                                                        //等待圖像輸出穩定
  151.         EXTI->IMR |= EXTI_Line8;                                //使能場同步中斷,準備下次采集
  152.         EXTI->EMR |= EXTI_Line8;


  153.         
  154.         while(1)
  155.         {
  156.                 if(VsyncActive == 2)
  157.                 {

  158.                         for(i = 0; i < JpegDataCnt; i ++)
  159.                         {
  160.                                 USART_Transmit(JpegBuffer[i]);
  161.                         }


  162.                
  163.                         JpegDataCnt = 0;                                                //JPEG計數器清零
  164.                         
  165.                         EXTI->IMR |= EXTI_Line8;                                //使能場同步中斷,準備下次采集
  166.                         EXTI->EMR |= EXTI_Line8;
  167.                                 
  168.                 }

  169.         }
  170. }

  171. /**
  172.   * @brief  Inserts a delay time.
  173.   * @param  nCount: specifies the delay time length.
  174.   * @retval None
  175.   */
  176. void Delay(__IO uint32_t nCount)
  177. {
  178.   for(; nCount != 0; nCount--);
  179. }

  180. #ifdef  USE_FULL_ASSERT
  181. /**
  182.   * @brief  Reports the name of the source file and the source line number
  183.   *         where the assert_param error has occurred.
  184.   * @param  file: pointer to the source file name
  185.   * @param  line: assert_param error line source number
  186.   * @retval None
  187.   */
  188. void assert_failed(uint8_t* file, uint32_t line)
  189. {
  190.   /* User can add his own implementation to report the file name and line number,
  191.      ex: printf("Wrong parameters value: file %s on line %d\r\n", file, line) */

  192.   /* Infinite loop */
  193.   while (1)
  194.   {
  195.   }
  196. }
  197. #endif

  198. /**
  199.   * @}
  200.   */

  201. /**
  202.   * @}
  203.   */

  204. /******************* (C) COPYRIGHT 2010 STMicroelectronics *****END OF FILE****/
復制代碼

全部資料51hei下載地址:
UART_JPEG +wifi.rar (1.69 MB, 下載次數: 163)


評分

參與人數 1黑幣 +50 收起 理由
admin + 50 共享資料的黑幣獎勵!

查看全部評分

分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏5 分享淘帖 頂1 踩
回復

使用道具 舉報

沙發
ID:330103 發表于 2018-5-15 08:38 | 只看該作者
特別好的東西。謝謝
回復

使用道具 舉報

板凳
ID:184706 發表于 2018-11-12 11:01 | 只看該作者
非常非常棒!
回復

使用道具 舉報

地板
ID:265199 發表于 2019-3-24 15:47 | 只看該作者
謝謝樓主,有沒有用ESP8266進行傳輸的程序啊
回復

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規則

手機版|小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術交流QQ群281945664

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 国产日韩欧美电影 | 日韩影院在线观看 | 影音av| 免费观看一级特黄欧美大片 | 色综合色综合网色综合 | 亚洲精品天堂 | 天天艹逼网 | 色网在线看| 欧美久久久久久 | 91精品国产综合久久久久 | 免费观看的av | jav成人av免费播放 | 一区二区三区网站 | 久久久精品一区二区三区 | 美女毛片免费看 | 91看片| 午夜羞羞 | 亚洲精品一区二区 | 91精品国产91久久久久久不卞 | 欧美a级成人淫片免费看 | 亚洲天堂影院 | 日韩视频一区 | 欧美国产精品一区二区三区 | 亚洲一区二区在线视频 | 成人国产精品久久久 | av影音资源| 91国内精精品久久久久久婷婷 | 日一区二区 | 欧美精品乱码久久久久久按摩 | 欧美日韩第一页 | 欧美日韩国产在线 | 成年人免费在线视频 | 久久综合一区二区 | 一区二区久久 | 夜夜骑天天干 | 成年人在线观看 | 久久精品视频91 | 欧美日韩国产精品一区二区 | 一道本视频 | 精品在线看 | 久久伊人精品 |