2013-07-03 08:42 AM
hi everybady
i have started an tutorial for UCB virtual com port (VCP), when the program start, alleways Unknown device, can help me/**
****************************************************************************** * @file app.c * @author MCD Application Team * @version V1.1.0 * @date 19-March-2012 * @brief This file provides all the Application firmware functions. ****************************************************************************** * @attention * * <h2><center>© COPYRIGHT 2012 STMicroelectronics</center></h2> * * Licensed under MCD-ST Liberty SW License Agreement V2, (the ''License''); * You may not use this file except in compliance with the License. * You may obtain a copy of the License at: * *http://www.st.com/software_license_agreement_liberty_v2
* * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an ''AS IS'' BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. * ****************************************************************************** *//* Includes ------------------------------------------------------------------*/
&sharpinclude ''usbd_cdc_core.h''
&sharpinclude ''usbd_usr.h'' &sharpinclude ''usb_conf.h'' &sharpinclude ''usbd_desc.h''/** @addtogroup STM32_USB_OTG_DEVICE_LIBRARY
* @{ *//** @defgroup APP_VCP
* @brief Mass storage application module * @{ *//** @defgroup APP_VCP_Private_TypesDefinitions
* @{ */ /** * @} *//** @defgroup APP_VCP_Private_Defines
* @{ *//**
* @} *//** @defgroup APP_VCP_Private_Macros
* @{ */ /** * @} *//** @defgroup APP_VCP_Private_Variables
* @{ */ &sharpifdef USB_OTG_HS_INTERNAL_DMA_ENABLED &sharpif defined ( __ICCARM__ ) /*!< IAR Compiler */ &sharppragma data_alignment=4 &sharpendif &sharpendif /* USB_OTG_HS_INTERNAL_DMA_ENABLED */ __ALIGN_BEGIN USB_OTG_CORE_HANDLE USB_OTG_dev __ALIGN_END ;/**
* @} *//** @defgroup APP_VCP_Private_FunctionPrototypes
* @{ */ /** * @} *//** @defgroup APP_VCP_Private_Functions
* @{ *//**
* @brief Program entry point * @param None * @retval None */ int main(void) { __IO uint32_t i = 0;/*!< At this stage the microcontroller clock setting is already configured,
this is done through SystemInit() function which is called from startup file (startup_stm32fxxx_xx.s) before to branch to application main. To reconfigure the default setting of SystemInit() function, refer to system_stm32fxxx.c file */ USBD_Init(&USB_OTG_dev, &sharpifdef USE_USB_OTG_HS USB_OTG_HS_CORE_ID, &sharpelse USB_OTG_FS_CORE_ID, &sharpendif &USR_desc, &USBD_CDC_cb, &USR_cb); /* Main loop */ while (1) { if (i++ == 0x100000) { STM_EVAL_LEDToggle(LED1); STM_EVAL_LEDToggle(LED2); STM_EVAL_LEDToggle(LED3); STM_EVAL_LEDToggle(LED4); i = 0; } } }&sharpifdef USE_FULL_ASSERT
/** * @brief assert_failed * 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) {} } &sharpendif/**
* @} *//**
* @} *//**
* @} *//************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
#usb-vcp2013-07-03 09:06 AM
What version of Windows? What version of the Driver?
2013-07-09 08:13 AM
hello
you need to see the system_stm32f4xx.c if you dont yous the good clock, the pc cant know the device usb this is is the configuration used with discovery Stm32f4 *============================================================================= *============================================================================= * Supported STM32F4xx device revision | Rev A *----------------------------------------------------------------------------- * System Clock source | PLL (HSE) *----------------------------------------------------------------------------- * SYSCLK(Hz) | 168000000 *----------------------------------------------------------------------------- * HCLK(Hz) | 168000000 *----------------------------------------------------------------------------- * AHB Prescaler | 1 *----------------------------------------------------------------------------- * APB1 Prescaler | 4 *----------------------------------------------------------------------------- * APB2 Prescaler | 2 *----------------------------------------------------------------------------- * HSE Frequency(Hz) | 8000000 *----------------------------------------------------------------------------- * PLL_M | 8 *----------------------------------------------------------------------------- * PLL_N | 336 *----------------------------------------------------------------------------- * PLL_P | 2 *----------------------------------------------------------------------------- * PLL_Q | 7 *----------------------------------------------------------------------------- * PLLI2S_N | NA *----------------------------------------------------------------------------- * PLLI2S_R | NA *----------------------------------------------------------------------------- * I2S input clock | NA *----------------------------------------------------------------------------- * VDD(V) | 3.3 *----------------------------------------------------------------------------- * High Performance mode | Enabled *----------------------------------------------------------------------------- * Flash Latency(WS) | 5 *----------------------------------------------------------------------------- * Prefetch Buffer | OFF *----------------------------------------------------------------------------- * Instruction cache | ON *----------------------------------------------------------------------------- * Data cache | ON *----------------------------------------------------------------------------- * Require 48MHz for USB OTG FS, | Enabled * SDIO and RNG clock |2013-07-09 08:23 AM
You need an accurate/crystal based clock source to meet USB specs, the RC based HSI won't get you there.
CAN also requires an accurate clock. Were you using the wrong clock settings?