【E1296】将USB网络摄像头连接到STM32F4 USB主机的源码

2021-09-24 14:48:33      索炜达电子      1441     

项目编号:E1296

文件大小:2.5M

源码说明:带中文注释

开发环境:C编译器

简要概述:

硬件:Core429I开发板+定制开发板,带有R-2R VGA DAC、USB A型连接器、SD卡和摄像头连接器:

【E1296】将USB网络摄像头连接到STM32F4 USB主机的源码

USB摄像机连接到STM32F429 MCU的USB主机;VGA显示器上会显示来自的图像。

USB主机在全速模式(FS)下工作。正如我发现的,一些USB摄像头不能在这种模式下工作。

罗技C100在YUY2和MJPEG模式下运行良好。此相机在MJPEG模式下的最大分辨率为640x480。

【E1296】将USB网络摄像头连接到STM32F4 USB主机的源码

目录│文件列表:

 └ STM32_HOST_UVC_Camera

    ├ HAL_source

    │  │ README.md

    │  ├ Drivers

    │  │  ├ CMSIS

    │  │  │  ├ Device

    │  │  │  │  └ ST

    │  │  │  │     └ STM32F4xx

    │  │  │  │        └ Include

    │  │  │  │           │ stm32f407xx.h

    │  │  │  │           │ stm32f429xx.h

    │  │  │  │           │ stm32f4xx.h

    │  │  │  │           └ system_stm32f4xx.h

    │  │  │  └ Include

    │  │  │     │ arm_common_tables.h

    │  │  │     │ arm_const_structs.h

    │  │  │     │ arm_math.h

    │  │  │     │ cmsis_armcc.h

    │  │  │     │ cmsis_armcc_V6.h

    │  │  │     │ cmsis_gcc.h

    │  │  │     │ core_cm0.h

    │  │  │     │ core_cm0plus.h

    │  │  │     │ core_cm3.h

    │  │  │     │ core_cm4.h

    │  │  │     │ core_cm7.h

    │  │  │     │ core_cmFunc.h

    │  │  │     │ core_cmInstr.h

    │  │  │     │ core_cmSimd.h

    │  │  │     │ core_sc000.h

    │  │  │     └ core_sc300.h

    │  │  └ STM32F4xx_HAL_Driver

    │  │     ├ Inc

    │  │     │  │ stm32f4xx_hal.h

    │  │     │  │ stm32f4xx_hal_adc.h

    │  │     │  │ stm32f4xx_hal_adc_ex.h

    │  │     │  │ stm32f4xx_hal_can.h

    │  │     │  │ stm32f4xx_hal_cec.h

    │  │     │  │ stm32f4xx_hal_conf_template.h

    │  │     │  │ stm32f4xx_hal_cortex.h

    │  │     │  │ stm32f4xx_hal_crc.h

    │  │     │  │ stm32f4xx_hal_cryp.h

    │  │     │  │ stm32f4xx_hal_cryp_ex.h

    │  │     │  │ stm32f4xx_hal_dac.h

    │  │     │  │ stm32f4xx_hal_dac_ex.h

    │  │     │  │ stm32f4xx_hal_dcmi.h

    │  │     │  │ stm32f4xx_hal_dcmi_ex.h

    │  │     │  │ stm32f4xx_hal_def.h

    │  │     │  │ stm32f4xx_hal_dfsdm.h

    │  │     │  │ stm32f4xx_hal_dma.h

    │  │     │  │ stm32f4xx_hal_dma2d.h

    │  │     │  │ stm32f4xx_hal_dma_ex.h

    │  │     │  │ stm32f4xx_hal_dsi.h

    │  │     │  │ stm32f4xx_hal_eth.h

    │  │     │  │ stm32f4xx_hal_flash.h

    │  │     │  │ stm32f4xx_hal_flash_ex.h

    │  │     │  │ stm32f4xx_hal_flash_ramfunc.h

    │  │     │  │ stm32f4xx_hal_fmpi2c.h

    │  │     │  │ stm32f4xx_hal_fmpi2c_ex.h

    │  │     │  │ stm32f4xx_hal_gpio.h

    │  │     │  │ stm32f4xx_hal_gpio_ex.h

    │  │     │  │ stm32f4xx_hal_hash.h

    │  │     │  │ stm32f4xx_hal_hash_ex.h

    │  │     │  │ stm32f4xx_hal_hcd.h

    │  │     │  │ stm32f4xx_hal_i2c.h

    │  │     │  │ stm32f4xx_hal_i2c_ex.h

    │  │     │  │ stm32f4xx_hal_i2s.h

    │  │     │  │ stm32f4xx_hal_i2s_ex.h

    │  │     │  │ stm32f4xx_hal_irda.h

    │  │     │  │ stm32f4xx_hal_iwdg.h

    │  │     │  │ stm32f4xx_hal_lptim.h

    │  │     │  │ stm32f4xx_hal_ltdc.h

    │  │     │  │ stm32f4xx_hal_ltdc_ex.h

    │  │     │  │ stm32f4xx_hal_nand.h

    │  │     │  │ stm32f4xx_hal_nor.h

    │  │     │  │ stm32f4xx_hal_pccard.h

    │  │     │  │ stm32f4xx_hal_pcd.h

    │  │     │  │ stm32f4xx_hal_pcd_ex.h

    │  │     │  │ stm32f4xx_hal_pwr.h

    │  │     │  │ stm32f4xx_hal_pwr_ex.h

    │  │     │  │ stm32f4xx_hal_qspi.h

    │  │     │  │ stm32f4xx_hal_rcc.h

    │  │     │  │ stm32f4xx_hal_rcc_ex.h

    │  │     │  │ stm32f4xx_hal_rng.h

    │  │     │  │ stm32f4xx_hal_rtc.h

    │  │     │  │ stm32f4xx_hal_rtc_ex.h

    │  │     │  │ stm32f4xx_hal_sai.h

    │  │     │  │ stm32f4xx_hal_sai_ex.h

    │  │     │  │ stm32f4xx_hal_sd.h

    │  │     │  │ stm32f4xx_hal_sdram.h

    │  │     │  │ stm32f4xx_hal_smartcard.h

    │  │     │  │ stm32f4xx_hal_spdifrx.h

    │  │     │  │ stm32f4xx_hal_spi.h

    │  │     │  │ stm32f4xx_hal_sram.h

    │  │     │  │ stm32f4xx_hal_tim.h

    │  │     │  │ stm32f4xx_hal_tim_ex.h

    │  │     │  │ stm32f4xx_hal_uart.h

    │  │     │  │ stm32f4xx_hal_usart.h

    │  │     │  │ stm32f4xx_hal_wwdg.h

    │  │     │  │ stm32f4xx_ll_fmc.h

    │  │     │  │ stm32f4xx_ll_fsmc.h

    │  │     │  │ stm32f4xx_ll_sdmmc.h

    │  │     │  │ stm32f4xx_ll_usb.h

    │  │     │  └ Legacy

    │  │     │     └ stm32_hal_legacy.h

    │  │     └ Src

    │  │        │ stm32f4xx_hal.c

    │  │        │ stm32f4xx_hal_adc.c

    │  │        │ stm32f4xx_hal_adc_ex.c

    │  │        │ stm32f4xx_hal_can.c

    │  │        │ stm32f4xx_hal_cec.c

    │  │        │ stm32f4xx_hal_cortex.c

    │  │        │ stm32f4xx_hal_crc.c

    │  │        │ stm32f4xx_hal_cryp.c

    │  │        │ stm32f4xx_hal_cryp_ex.c

    │  │        │ stm32f4xx_hal_dac.c

    │  │        │ stm32f4xx_hal_dac_ex.c

    │  │        │ stm32f4xx_hal_dcmi.c

    │  │        │ stm32f4xx_hal_dcmi_ex.c

    │  │        │ stm32f4xx_hal_dfsdm.c

    │  │        │ stm32f4xx_hal_dma.c

    │  │        │ stm32f4xx_hal_dma2d.c

    │  │        │ stm32f4xx_hal_dma_ex.c

    │  │        │ stm32f4xx_hal_dsi.c

    │  │        │ stm32f4xx_hal_eth.c

    │  │        │ stm32f4xx_hal_flash.c

    │  │        │ stm32f4xx_hal_flash_ex.c

    │  │        │ stm32f4xx_hal_flash_ramfunc.c

    │  │        │ stm32f4xx_hal_fmpi2c.c

    │  │        │ stm32f4xx_hal_fmpi2c_ex.c

    │  │        │ stm32f4xx_hal_gpio.c

    │  │        │ stm32f4xx_hal_hash.c

    │  │        │ stm32f4xx_hal_hash_ex.c

    │  │        │ stm32f4xx_hal_hcd.c

    │  │        │ stm32f4xx_hal_i2c.c

    │  │        │ stm32f4xx_hal_i2c_ex.c

    │  │        │ stm32f4xx_hal_i2s.c

    │  │        │ stm32f4xx_hal_i2s_ex.c

    │  │        │ stm32f4xx_hal_irda.c

    │  │        │ stm32f4xx_hal_iwdg.c

    │  │        │ stm32f4xx_hal_lptim.c

    │  │        │ stm32f4xx_hal_ltdc.c

    │  │        │ stm32f4xx_hal_ltdc_ex.c

    │  │        │ stm32f4xx_hal_msp_template.c

    │  │        │ stm32f4xx_hal_nand.c

    │  │        │ stm32f4xx_hal_nor.c

    │  │        │ stm32f4xx_hal_pccard.c

    │  │        │ stm32f4xx_hal_pcd.c

    │  │        │ stm32f4xx_hal_pcd_ex.c

    │  │        │ stm32f4xx_hal_pwr.c

    │  │        │ stm32f4xx_hal_pwr_ex.c

    │  │        │ stm32f4xx_hal_qspi.c

    │  │        │ stm32f4xx_hal_rcc.c

    │  │        │ stm32f4xx_hal_rcc_ex.c

    │  │        │ stm32f4xx_hal_rng.c

    │  │        │ stm32f4xx_hal_rtc.c

    │  │        │ stm32f4xx_hal_rtc_ex.c

    │  │        │ stm32f4xx_hal_sai.c

    │  │        │ stm32f4xx_hal_sai_ex.c

    │  │        │ stm32f4xx_hal_sd.c

    │  │        │ stm32f4xx_hal_sdram.c

    │  │        │ stm32f4xx_hal_smartcard.c

    │  │        │ stm32f4xx_hal_spdifrx.c

    │  │        │ stm32f4xx_hal_spi.c

    │  │        │ stm32f4xx_hal_sram.c

    │  │        │ stm32f4xx_hal_tim.c

    │  │        │ stm32f4xx_hal_timebase_rtc_alarm_template.c

    │  │        │ stm32f4xx_hal_timebase_rtc_wakeup_template.c

    │  │        │ stm32f4xx_hal_timebase_tim_template.c

    │  │        │ stm32f4xx_hal_tim_ex.c

    │  │        │ stm32f4xx_hal_uart.c

    │  │        │ stm32f4xx_hal_usart.c

    │  │        │ stm32f4xx_hal_wwdg.c

    │  │        │ stm32f4xx_ll_fmc.c

    │  │        │ stm32f4xx_ll_fsmc.c

    │  │        │ stm32f4xx_ll_sdmmc.c

    │  │        └ stm32f4xx_ll_usb.c

    │  ├ jpeg_lib

    │  │  │ integer.h

    │  │  │ mjpeg_dht.h

    │  │  │ tjpgd.c

    │  │  └ tjpgd.h

    │  ├ Middlewares

    │  │  └ ST

    │  │     └ STM32_USB_Host_Library

    │  │        ├ Class

    │  │        │  └ VIDEO

    │  │        │     ├ Inc

    │  │        │     │  │ usbh_video.h

    │  │        │     │  │ usbh_video_desc_parsing.h

    │  │        │     │  └ usbh_video_stream_parsing.h

    │  │        │     └ Src

    │  │        │        │ usbh_video.c

    │  │        │        │ usbh_video_desc_parsing.c

    │  │        │        └ usbh_video_stream_parsing.c

    │  │        └ Core

    │  │           ├ Inc

    │  │           │  │ usbh_conf_template.h

    │  │           │  │ usbh_core.h

    │  │           │  │ usbh_ctlreq.h

    │  │           │  │ usbh_def.h

    │  │           │  │ usbh_ioreq.h

    │  │           │  └ usbh_pipes.h

    │  │           └ Src

    │  │              │ usbh_conf_template.c

    │  │              │ usbh_core.c

    │  │              │ usbh_ctlreq.c

    │  │              │ usbh_ioreq.c

    │  │              └ usbh_pipes.c

    │  ├ stm32F429_project

    │  │  ├ EWARM

    │  │  │  │ cube_video_test1.dep

    │  │  │  │ cube_video_test1.ewd

    │  │  │  │ cube_video_test1.ewp

    │  │  │  │ cube_video_test1.ewt

    │  │  │  │ Project.eww

    │  │  │  │ stm32f429xx_flash.icf

    │  │  │  │ stm32f429xx_sram.icf

    │  │  │  └ settings

    │  │  │     │ cube_video_test1.crun

    │  │  │     │ cube_video_test1.cube_video_test1.cspy.bat

    │  │  │     │ cube_video_test1.cube_video_test1.driver.xcl

    │  │  │     │ cube_video_test1.cube_video_test1.general.xcl

    │  │  │     │ cube_video_test1.dbgdt

    │  │  │     │ cube_video_test1.dni

    │  │  │     │ Project.wsdt

    │  │  │     └ Project.wspos

    │  │  ├ Inc

    │  │  │  │ main.h

    │  │  │  │ mjpeg_decoding.h

    │  │  │  │ stm32f429_lcd.h

    │  │  │  │ stm32f429_sdram.h

    │  │  │  │ stm32f4xx_hal_conf.h

    │  │  │  │ stm32f4xx_it.h

    │  │  │  │ usbh_conf.h

    │  │  │  └ usb_host.h

    │  │  └ Src

    │  │     │ fonts.c

    │  │     │ fonts.h

TAGSTM32F4
  • 8 次
  • 10 分