Tengo los tableros de disco stm32l100 y stm32l152 y estoy usando stm32cubemx y sw4stm32 IDE.
Después de crear el proyecto predeterminado para ellos en cubemx, quiero decir, paso por el selector de la placa y luego dejo todo como está excepto el cambio de biblioteca de HAL a LL en el proyecto - > configuraciones - > configuración avanzada para RCC y GPIO y generar proyecto para sw4stm32 - Lo importo a sw4stm32, agrego algo de código para el parpadeo de LED3 (para el bucle while en la función principal):
LL_GPIO_TogglePin(LD3_GPIO_Port, LD3_Pin);
LL_mDelay(1000);
genérelo y ejecútelo (está escrito en la placa, veo que el LED de estado parpadea), pero LED3 no parpadea.
Cuando lo ejecuto en modo de depuración y paso el código, falla en la línea (en la función SystemClock_Config ()):
LL_FLASH_GetLatency() != LL_FLASH_LATENCY_1
y va a Error_Handler (), que permanece dentro del ciclo while para siempre ...
Esto sucede en ambas placas y cuando las destelle con el LED parpadeando, el ejemplo de ST funciona, por lo que debería haber algún problema de firmware y diría que hay un problema de inicialización. Leí STM32CubeL1GettingStarted.pdf y está escrito que debo definir la macro correcta en stm32l1xx.h, que debería ser STM32L100xC o STM32L152xC y lo hice, o más bien no tiene un código existente en ese archivo. Incluso traté de agregarlo al archivo main.c, no ayudó. Y traté de hacerlo con y sin esta macro definida.
La única pregunta cercana que encontré es esta enlace - pero en la versión 1.8.0 de la biblioteca cubemx esto parece ser en el lugar correcto.
Soy bastante novato con estos tableros y tengo experiencia solo con arduino, por lo que toda esta configuración me sobrepasa en este momento y no sé dónde podría estar la causa ... así que si alguien me pudiera dirigir, lo apreciaría. Realmente mucho.
ACTUALIZACIÓN: Incluso intenté generar un proyecto con una versión anterior de las bibliotecas LL (1.7.0 y 1.6.0), pero aún no hay progreso.
¿Alguien al menos tiene algún tutorial para parpadear leds (o manipular con GPIO) en procesadores L1 utilizando la biblioteca LL basada en el proyecto generado por cubemx?
¿O podría alguien enviarme un código de parpadeo de led (gpio manipulando) para STM32L100RC o STM32L152RC generado en cubemx usando la biblioteca LL? Gracias.
ACTUALIZACIÓN2: Ahora traté de hacer exactamente los mismos pasos usando la biblioteca HAL y funciona (anteriormente, usé el ejemplo de parpadeo de cubemx de ST), ¿entonces parece un error? Tuve algunos problemas para registrarme en el sitio de ST, así que escribí aquí primero, pero ahora funciona, así que también escribo allí: agregaré el enlace.
ACTUALIZACIÓN3: enlace a mi pregunta en el foro ST: enlace
ACTUALIZACIÓN4: así que aquí está el código, si alguien quiere verlo, pero como dije, es un proyecto básico generado en cubemx con un cambio de pin añadido: enlace