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,以方便端口拼寫。
新建工程步驟:
444.jpg (85.32 KB, 下載次數: 37)
下載附件
2018-5-15 03:43 上傳
step1.jpg (20.17 KB, 下載次數: 46)
下載附件
2018-5-15 03:43 上傳
step2.jpg (39.23 KB, 下載次數: 41)
下載附件
2018-5-15 03:43 上傳
step3.jpg (80.64 KB, 下載次數: 60)
下載附件
2018-5-15 03:43 上傳
step4.jpg (15.3 KB, 下載次數: 38)
下載附件
2018-5-15 03:43 上傳
step5.jpg (6.41 KB, 下載次數: 42)
下載附件
2018-5-15 03:43 上傳
step6.jpg (25.06 KB, 下載次數: 44)
下載附件
2018-5-15 03:43 上傳
step7.jpg (74.04 KB, 下載次數: 43)
下載附件
2018-5-15 03:43 上傳
step8.jpg (27.02 KB, 下載次數: 40)
下載附件
2018-5-15 03:43 上傳
step9.jpg (51.76 KB, 下載次數: 51)
下載附件
2018-5-15 03:43 上傳
step10.jpg (40.51 KB, 下載次數: 42)
下載附件
2018-5-15 03:43 上傳
step11_CMSIS 頭文件路勁有兩個.jpg (20.56 KB, 下載次數: 40)
下載附件
2018-5-15 03:43 上傳
step12.jpg (87.87 KB, 下載次數: 35)
下載附件
2018-5-15 03:43 上傳
該文件內包含的是用戶的中斷處理入口程序,中斷入口函數是一個跨越BSP和用戶應用程序的模塊;同時包含了外設庫的配置裁剪頭文件。
部分主函數如下:
- /**
- ******************************************************************************
- * @file GPIO/IOToggle/main.c
- * @author MCD Application Team
- * @version V3.3.0
- * @date 04/16/2010
- * @brief Main program body.
- ******************************************************************************
- * @copy
- *
- * THE PRESENT FIRMWARE WHICH IS FOR GUIDANCE ONLY AIMS AT PROVIDING CUSTOMERS
- * WITH CODING INFORMATION REGARDING THEIR PRODUCTS IN ORDER FOR THEM TO SAVE
- * TIME. AS A RESULT, STMICROELECTRONICS SHALL NOT BE HELD LIABLE FOR ANY
- * DIRECT, INDIRECT OR CONSEQUENTIAL DAMAGES WITH RESPECT TO ANY CLAIMS ARISING
- * FROM THE CONTENT OF SUCH FIRMWARE AND/OR THE USE MADE BY CUSTOMERS OF THE
- * CODING INFORMATION CONTAINED HEREIN IN CONNECTION WITH THEIR PRODUCTS.
- *
- * <h2><center>© COPYRIGHT 2010 STMicroelectronics</center></h2>
- */
- /* Includes ------------------------------------------------------------------*/
- #include "stm32f10x.h"
- #include <stdio.h>
- #include "usb_lib.h"
- #include "hw_config.h"
- #include "usb_pwr.h"
- #include "MyBspInc.h"
- #include "FATFS_008.h"
- #include "OnChip_Driver_Inc.h"
- #include "../BMP/BMP.h"
- #include <stm32f10x.h>
- #define sim900_rcc RCC_APB2Periph_GPIOB
- #define sim900_gpio GPIOB
- #define sim900_pin (GPIO_Pin_0|GPIO_Pin_1|GPIO_Pin_6)
- #define led_rcc RCC_APB2Periph_GPIOA
- #define led_gpio GPIOA
- #define led_pin (GPIO_Pin_4|GPIO_Pin_5|GPIO_Pin_6|GPIO_Pin_7)
- unsigned char str1[] = {"AT+RST\r\n"};
- unsigned char str2[] = {"AT+CWMODE=3\r\n"};
- unsigned char str3[] = {"AT+CWJAP=\"conan\",\"123456789\"\r\n"};
- unsigned char str4[] = {"AT+CIPSTART=\"TCP\",\"192.168.191.1\",8989\r\n"};
- unsigned char str5[] = {"AT+CIPSEND=16\r\n"};
- unsigned char str6[] = {"AT+CIPSEND=5\r\n"};
- unsigned char str7[] = {"AT+CIPMODE=1\r\n"};
- unsigned char str8[] = {"AT+CIPSEND\r\n"};
- void WIFI_Init()
- {
- USART_SendString(str2);
- Delay_nMS(1000);
- Delay_nMS(1000);
- Delay_nMS(1000);
- Delay_nMS(1000);
- USART_SendString(str1);
- Delay_nMS(1000);
- Delay_nMS(1000);
- Delay_nMS(1000);
- Delay_nMS(1000);
- USART_SendString(str3);
- Delay_nMS(1000);
- Delay_nMS(1000);
- Delay_nMS(1000);
- Delay_nMS(1000);
- Delay_nMS(1000);
- Delay_nMS(1000);
- Delay_nMS(1000);
- Delay_nMS(1000);
- Delay_nMS(1000);
- Delay_nMS(1000);
- Delay_nMS(1000);
- Delay_nMS(1000);
- USART_SendString(str4);
- Delay_nMS(1000);
- Delay_nMS(1000);
- }
- void init_gpio_func(void)
- {
- GPIO_InitTypeDef GPIO_InitStructure;
- RCC_APB2PeriphClockCmd(sim900_rcc,ENABLE);
- RCC_APB2PeriphClockCmd(led_rcc,ENABLE);
- GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP;
- GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;
- GPIO_InitStructure.GPIO_Pin = sim900_pin;
- GPIO_Init(sim900_gpio, &GPIO_InitStructure);
- GPIO_InitStructure.GPIO_Pin = led_pin;
- GPIO_Init(led_gpio, &GPIO_InitStructure);
- }
- void open_ov2640_3v3(void)
- {
- GPIO_SetBits(sim900_gpio, GPIO_Pin_6);
- GPIO_ResetBits(sim900_gpio, GPIO_Pin_6);
- //
- }
- extern unsigned char VsyncCnt; //場同步標志
- //////////////////////////////
- FATFS fs; // Work area (file system object) for logical drives
- FRESULT res; // FatFs function common result code
- //////////////////////////////
- /** @addtogroup STM32F10x_StdPeriph_Examples
- * @{
- */
- /** @addtogroup GPIO_IOToggle
- * @{
- */
- /* Private typedef -----------------------------------------------------------*/
- /* Private define ------------------------------------------------------------*/
- /* Private macro -------------------------------------------------------------*/
- /* Private variables ---------------------------------------------------------*/
- GPIO_InitTypeDef GPIO_InitStructure;
- /* Private function prototypes -----------------------------------------------*/
- void Delay(__IO uint32_t nCount);
- extern u32 JpegDataCnt;
- extern u8 JpegBuffer[10240];
- extern u8 VsyncActive;
- OV2640_IDTypeDef OV2640_Camera_ID;
- extern void OV2640_AutoExposure(u8 level);
- int main(void)
- {
- u16 i = 0;
- ///////////////Delay初始化//////////////////
- Delay_Init(72);
- ////////////////////////////////////////////
-
- ///////////////USART1初始化/////////////////
- USART1_Init(115200);
-
- //USART2_Init(9600);
- //delay_ms(1000);
- WIFI_Init();
- Delay_nMS(1000);
- USART_SendString(str7);
- Delay_nMS(1000);
- USART_SendString(str8);
-
- //init_gpio_func();
- //open_ov2640_3v3();
- OV2640_HW_Init(); //IIC初始化 //作用是在一段內存塊中填充某個特定的值
- memset(&OV2640_Camera_ID,0x0,sizeof(OV2640_IDTypeDef)); //是對較大的結構體或數組進行清零操作的一種最快方法
- OV2640_ReadID(&OV2640_Camera_ID); //讀取OV2640ID,測試硬件,依次為:0x7F,0xA2,0x26,0x42
- OV2640_JPEGConfig(JPEG_320x240); //配置OV2640輸出320*240像素的JPG圖片
-
- //設置自動曝光和白平衡
- OV2640_BrightnessConfig(0x20);
- OV2640_AutoExposure(2);
- OV2640_CaptureGpioInit(); //數據采集引腳初始化
- EXTI->IMR &= ~EXTI_Line8; //關閉場同步中斷
- EXTI->EMR &= ~EXTI_Line8;
-
- EXTI->IMR &= ~EXTI_Line15; //關閉像素同步中斷
- EXTI->EMR &= ~EXTI_Line15;
-
- Delay_nMS(10); //等待圖像輸出穩定
- EXTI->IMR |= EXTI_Line8; //使能場同步中斷,準備下次采集
- EXTI->EMR |= EXTI_Line8;
-
- while(1)
- {
- if(VsyncActive == 2)
- {
- for(i = 0; i < JpegDataCnt; i ++)
- {
- USART_Transmit(JpegBuffer[i]);
- }
-
- JpegDataCnt = 0; //JPEG計數器清零
-
- EXTI->IMR |= EXTI_Line8; //使能場同步中斷,準備下次采集
- EXTI->EMR |= EXTI_Line8;
-
- }
- }
- }
- /**
- * @brief Inserts a delay time.
- * @param nCount: specifies the delay time length.
- * @retval None
- */
- void Delay(__IO uint32_t nCount)
- {
- for(; nCount != 0; nCount--);
- }
- #ifdef USE_FULL_ASSERT
- /**
- * @brief Reports the name of the source file and the source line number
- * where the assert_param error has occurred.
- * @param file: pointer to the source file name
- * @param line: assert_param error line source number
- * @retval None
- */
- void assert_failed(uint8_t* file, uint32_t line)
- {
- /* User can add his own implementation to report the file name and line number,
- ex: printf("Wrong parameters value: file %s on line %d\r\n", file, line) */
- /* Infinite loop */
- while (1)
- {
- }
- }
- #endif
- /**
- * @}
- */
- /**
- * @}
- */
- /******************* (C) COPYRIGHT 2010 STMicroelectronics *****END OF FILE****/
復制代碼
全部資料51hei下載地址:
UART_JPEG +wifi.rar
(1.69 MB, 下載次數: 163)
2018-5-15 03:48 上傳
點擊文件名下載附件
代碼全套 下載積分: 黑幣 -5
|