STC32F7 descubrimiento del dispositivo USB CDC usando CubeMX

1

Lo que quiero hacer es enviar algunos bytes con el descubrimiento STM32F7 a mi computadora portátil, a través de USB (HS o FS). Probé el ejemplo de com virtual proporcionado por keil microvision para que el hardware esté bien, pero necesito hacerlo usando STM32CubeMX. Las bibliotecas son diferentes y la mejor suerte que tuve fue ver Virtual Com Port en el administrador de dispositivos. pero Hyperterminal o Putty no pueden detectarlo y no hay envío o recepción de datos. He adjuntado mi código de ejemplo, el enlace y la configuración del reloj, por lo que aprecio que alguien pueda ayudarme y me diga cuál es el problema.

Mi código de muestra

    
pregunta masoud

1 respuesta

1

Finalmente encontré la solución. El problema estaba relacionado con el tamaño del montón. Aumenté el tamaño del montón en el archivo de inicio de 200 bytes a 400 bytes, por lo que funciona como un encanto. Pero aún no se ha resuelto todo el problema. Cuando uso Keil rtx, deja de funcionar. El problema anterior aparece de nuevo. Creo que se trata del tamaño de pila en la configuración de rtx, pero con algunos cambios, todavía no funciona.

Editado: Después de mucho desafío funcionó. En este enlace , se describen algunos consejos sobre el uso de RTOS-RTX con Stm32CubeMX. Una de las cosas que debe hacer es establecer la prioridad del temporizador SysTick en el valor más bajo. Esto entra en conflicto con las interrupciones de USB. Para usar USB-CDC con RTOS-RTX en Stm32CubeMX, debe establecer la prioridad de la interrupción global de USB-OTG, inferior al temporizador SysTick. Por lo tanto, establecer la prioridad de SysTick en 14 y USB-OTG en 15 resuelve el problema.

    
respondido por el masoud

Lea otras preguntas en las etiquetas