Lo que quiero hacer es enviar algunos bytes con el descubrimiento STM32F7 a mi computadora portátil, a través de USB CDC (HS o FS). Probé el ejemplo de comunicación 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 ni recepción de datos. Adjunté mi enlace de código de muestra y la configuración del reloj, así que agradezco si alguien pudiera ayudarme y decirme cuál es el problema.
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 de maravilla. Pero todavía no se ha resuelto todo el problema. cuando uso Keil rtx, deja de funcionar. El problema anterior vuelve a aparecer. Creo que se trata del tamaño de la pila en la configuración de rtx, pero con algunos cambios, todavía no funciona.
Editado: después de muchos desafíos funcionó. En este enlace, describe 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 USB. Para usar USB-CDC con RTOS-RTX en Stm32CubeMX, debe establecer la prioridad de la interrupción global USB-OTG, más baja que el temporizador SysTick. Entonces, establecer la prioridad de SysTick en 14 y USB-OTG en 15 resuelve el problema.
akohlsmith
Bence Kaulics