找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 3674|回復(fù): 2
收起左側(cè)

stm32+ov7725上傳PC的源程序

[復(fù)制鏈接]
ID:508813 發(fā)表于 2019-4-10 15:32 | 顯示全部樓層 |閱讀模式
能夠?qū)崿F(xiàn)將ov7725的圖像上傳到上位機(jī),上位機(jī)使用原子帶的就行,速度比較慢

單片機(jī)源程序如下:
  1. #include "stm32f10x.h"
  2. #include "./ov7725/ov7725.h"
  3. #include "./lcd/ili9341_lcd.h"
  4. #include "./usart/usart.h"
  5. #include "./systick/SysTick.h"

  6. extern uint8_t Ov7725_vsync;

  7. uint64_t Task_Delay = 20000;

  8. extern OV7725_MODE_PARAM cam_mode;

  9. int main(void)        
  10. {               
  11.        
  12. //        float frame_count = 0;
  13.         uint8_t retry = 0;
  14. //        uint16_t x,y;

  15.         /* 液晶初始化 */
  16. //        ILI9341_Init();
  17. //        ILI9341_GramScan ( 3 );
  18.        
  19. //        LCD_SetFont(&Font8x16);
  20. //        LCD_SetColors(WHITE,BLACK);

  21. //  ILI9341_Clear(0,0,LCD_X_LENGTH,LCD_Y_LENGTH);        /* 清屏,顯示全黑 */
  22.        
  23.         /********顯示字符串示例*******/
  24. //  ILI9341_DispStringLine_EN(LINE(0),"BH OV7725 Test Demo");

  25.         USART_Config();
  26.         SysTick_Init();
  27.         /* ov7725 gpio 初始化 */
  28.         OV7725_GPIO_Config();
  29.        
  30.         /* ov7725 寄存器默認(rèn)配置初始化 */
  31.         while(OV7725_Init() != SUCCESS)
  32.         {
  33.                 retry++;
  34.                 if(retry>5)
  35.                 {
  36. //                        printf("\r\n沒有檢測到OV7725攝像頭\r\n");
  37. //                        ILI9341_DispStringLine_EN(LINE(2),"No OV7725 module detected!");
  38.                         while(1);
  39.                 }
  40.         }


  41.         /*根據(jù)攝像頭參數(shù)組配置模式*/
  42.         OV7725_Special_Effect(cam_mode.effect);
  43.         /*光照模式*/
  44.         OV7725_Light_Mode(cam_mode.light_mode);
  45.         /*飽和度*/
  46.         OV7725_Color_Saturation(cam_mode.saturation);
  47.         /*光照度*/
  48.         OV7725_Brightness(cam_mode.brightness);
  49.         /*對比度*/
  50.         OV7725_Contrast(cam_mode.contrast);
  51.         /*特殊效果*/
  52.         OV7725_Special_Effect(cam_mode.effect);
  53.        
  54.         /*設(shè)置圖像采樣及模式大小*/
  55.         OV7725_Window_Set(cam_mode.cam_sx,
  56.                                                                                                                 cam_mode.cam_sy,
  57.                                                                                                                 cam_mode.cam_width,
  58.                                                                                                                 cam_mode.cam_height,
  59.                                                                                                                 cam_mode.QVGA_VGA);

  60.         /* 設(shè)置液晶掃描模式 */
  61. //        ILI9341_GramScan( cam_mode.lcd_scan );
  62.        
  63.        
  64.        
  65. //        ILI9341_DispStringLine_EN(LINE(2),"OV7725 initialize success!");
  66.        
  67.         Ov7725_vsync = 0;
  68.        
  69.         while(1)
  70.         {
  71.                         /*接收到新圖像進(jìn)行顯示*/
  72.                         if( Ov7725_vsync == 2 )
  73.                         {
  74. //                        frame_count++;
  75.                                 FIFO_PREPARE;                          /*FIFO準(zhǔn)備*/               
  76.                                 /*60秒采集一幀圖像通過串口1發(fā)送出去*/
  77.                                 if(Task_Delay == 0)        
  78.                                 {                       
  79.                                         while(SUCCESS != ImagCatch(cam_mode.lcd_sx,
  80.                                                                          cam_mode.lcd_sy,
  81.                                                                          cam_mode.cam_width,
  82.                                                                          cam_mode.cam_height));                        /*采集并顯示,等待串口1圖像數(shù)據(jù)發(fā)送完成,*/  

  83.                                         Task_Delay = 60000;       
  84.                                 }       
  85.                                 Ov7725_vsync = 0;                                       
  86.                         }
  87.         }
  88. }
  89.                 /*每隔一段時(shí)間計(jì)算一次幀率*/
  90. //                if(Task_Delay == 0)  
  91. //                {                       
  92. //                        printf("\r\nframe_ate = %.2f fps\r\n",frame_count/10);     //計(jì)算幀率
  93. //                        frame_count = 0;                                                                                                                                                                         //幀數(shù)清零
  94. //                        Task_Delay = 10000;                                                                                                                                                                 //10秒定時(shí)中斷
  95. //                }               
復(fù)制代碼

所有資料51hei提供下載:
基于OV7725的stm32實(shí)時(shí)圖像采集工程.7z (210.91 KB, 下載次數(shù): 115)


評分

參與人數(shù) 1黑幣 +50 收起 理由
admin + 50 共享資料的黑幣獎(jiǎng)勵(lì)!

查看全部評分

回復(fù)

使用道具 舉報(bào)

ID:463721 發(fā)表于 2019-4-14 11:45 | 顯示全部樓層
請問這個(gè)用什么通信方式?
回復(fù)

使用道具 舉報(bào)

ID:463721 發(fā)表于 2019-4-14 11:47 | 顯示全部樓層
請問PC和STM32通過什么通信
回復(fù)

使用道具 舉報(bào)

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

本版積分規(guī)則

小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術(shù)交流QQ群281945664

Powered by 單片機(jī)教程網(wǎng)

快速回復(fù) 返回頂部 返回列表