Autor Tema: Dudas STM32CubeMX  (Leído 7941 veces)

0 Usuarios y 1 Visitante están viendo este tema.

Desconectado Nocturno

  • Administrador
  • DsPIC33
  • *******
  • Mensajes: 18310
    • MicroPIC
Dudas STM32CubeMX
« en: 14 de Febrero de 2018, 14:21:00 »
Hola compañeros.
Estoy usando Eclipse + STM32CubeMX para empezar un nuevo proyecto, en el que he seleccionado el STM32F103C8Tx configurado de esta manera:


Pues bien, si intento generar el código de forma automática se me queda enganchado aquí:


Si desactivo los dos pines asignados a la USART (PA9 y PA10) sí que tira adelante y me genera el proyecto sin problemas.

¿Se os ocurre cómo puedo solucionarlo?

Gracias

Desconectado planeta9999

  • Moderadores
  • DsPIC30
  • *****
  • Mensajes: 3520
    • Pinballsp
Re:Dudas STM32CubeMX
« Respuesta #1 en: 14 de Febrero de 2018, 15:02:25 »

A mi me pasó algo parecido con un proyecto, y era porque se habían corrompido algunos de los ficheros que genera Cube. Borré todos los archivos, salvo el fuente de Cube, guárdandome antes el código que ya había metido en el main.c y pude regenerar de nuevo el proyecto, Cube vuelve a crear todos los archivos.

Los directorios dentro del proyecto son Src para los fuentes e Inc para los includes, en mi caso tenía ficheros corrompidos en ambos. Le estuve dando durante días, porque si me había funcionado todo desde el principio, hasta que un día se me empezó a quedar bloqueado al generar el proyecto, y ya no hubo forma hasta que borré todos los .h y los .c que había creado Cube.
« Última modificación: 14 de Febrero de 2018, 15:04:40 por planeta9999 »

Desconectado Nocturno

  • Administrador
  • DsPIC33
  • *******
  • Mensajes: 18310
    • MicroPIC
Re:Dudas STM32CubeMX
« Respuesta #2 en: 18 de Febrero de 2018, 05:08:17 »
Pues tienes razón, lo borre todo y lo hice de nuevo y funcionó perfecto. Gracias

Desconectado juaperser1

  • Colaborador
  • DsPIC30
  • *****
  • Mensajes: 2980
Re:Dudas STM32CubeMX
« Respuesta #3 en: 18 de Febrero de 2018, 10:01:06 »
En vez de configurar eclipse desde 0, yo te recomiendo el AC6 viene ya todo configurado y listo para usar


Desconectado Nocturno

  • Administrador
  • DsPIC33
  • *******
  • Mensajes: 18310
    • MicroPIC
Re:Dudas STM32CubeMX
« Respuesta #4 en: 18 de Febrero de 2018, 10:28:41 »
Sí, por supuesto, de hecho usé  tu vídeo para configurarlo todo exactamente igual

Desconectado juaperser1

  • Colaborador
  • DsPIC30
  • *****
  • Mensajes: 2980
Re:Dudas STM32CubeMX
« Respuesta #5 en: 18 de Febrero de 2018, 11:05:26 »
Dentro de poco lo mejor será usar el atollic, que lo compro St y ya lo ofrece gratuitamente para los STM y también es base eclipse, tiene herramientas avanzadas de depuración y más cosas, pero hasta que no esté pulido del todo prefiero el AC6.
Pero bueno si no es para un proyecto crítico y te apetece probarlo, ya puedes gratuitamente para los stm32.

Un saludo

Desconectado Nocturno

  • Administrador
  • DsPIC33
  • *******
  • Mensajes: 18310
    • MicroPIC
Re:Dudas STM32CubeMX
« Respuesta #6 en: 18 de Febrero de 2018, 13:20:23 »
Pues ya he instalado Atollic. Aparentemente no veo diferencias con Eclipse, ¿es mejor?

Por otro lado, ¿se puede hacer simulación con alguna herramienta?

Gracias

Desconectado juaperser1

  • Colaborador
  • DsPIC30
  • *****
  • Mensajes: 2980
Re:Dudas STM32CubeMX
« Respuesta #7 en: 18 de Febrero de 2018, 14:14:10 »
Atollic, basicamente es como keil o IAR. Si se puede decir que es mejor, además de que dentro de poco será la versión oficial del IDE para los micros de ST.

Lo que pasa es que esta basado en eclipse, es como el CCS de texas instruments.

No sabría decirte todas las herramientas que tiene o si tiene simulador, lo que si se es que las herramientas para debuguear están muy bien incluso para RTOS y tiene muy buenas herramientas para ver el uso de memoria y eso.

Cuando me ponga con el investigaré todas estas herramientas.

un saludo.

Desconectado Nocturno

  • Administrador
  • DsPIC33
  • *******
  • Mensajes: 18310
    • MicroPIC
Re:Dudas STM32CubeMX
« Respuesta #8 en: 21 de Febrero de 2018, 17:02:36 »
Llevo varios días dándole vueltas y no consigo que el CubeMX me genere el código de interrupción de los timers. He probado varias configuraciones, y los 4 timers, pero nada.
Imagino que será un bug, pero me parece algo tan básico que me extraña y lo más normal será que yo esté haciendo algo mal.

Desconectado tsk

  • PIC18
  • ****
  • Mensajes: 258
Re:Dudas STM32CubeMX
« Respuesta #9 en: 21 de Febrero de 2018, 17:44:00 »
En alguna parte del main.c después del

Código: C
  1. MX_TIMX_Init();

Necesitas agregar

Código: C
  1. HAL_TIM_Base_Start_IT(&htimX);

Donde X es el número del timer, por ejemplo el timer 3.

Para atender la interrupción después agregas la función
Código: C
  1. void HAL_TIM_PeriodElapsedCallback(TIM_HandleTypeDef *htim)
  2. {
  3.         if(htim->Instance == htim3.Instance)
  4.         {
  5.            //Código que se ejecutara en la interrupción
  6.         }
  7. }


Desconectado planeta9999

  • Moderadores
  • DsPIC30
  • *****
  • Mensajes: 3520
    • Pinballsp
Re:Dudas STM32CubeMX
« Respuesta #10 en: 21 de Febrero de 2018, 17:55:26 »

Si que es raro. Yo precisamente tengo una aplicacióin reciente que hice para un cliente, y uso una interrupcion con un timer para encender y actualizar unos displays conectados con registros de desplazamiento 74HC595, y me va perfecto.

Te dejo mi configuración, en Cube y en el main.










« Última modificación: 21 de Febrero de 2018, 19:17:42 por planeta9999 »

Desconectado Nocturno

  • Administrador
  • DsPIC33
  • *******
  • Mensajes: 18310
    • MicroPIC
Re:Dudas STM32CubeMX
« Respuesta #11 en: 22 de Febrero de 2018, 03:21:41 »
He generado un nuevo proyecto que usa sólo los timers y ahora sí me incluye el código correctamente. Parece que definitivamente se trata de un bug porque no he hecho nada diferente, excepto empezar con un proyecto limpio.
Gracias planeta.

Desconectado Thulsa Doom

  • PIC24F
  • *****
  • Mensajes: 805
    • https://electronicadicto.wordpress.com/
Re:Dudas STM32CubeMX
« Respuesta #12 en: 06 de Junio de 2018, 09:00:16 »
Hola a todos, pues aprovechando este hilo, no sé si será mejor abrir uno nuevo con mi pregunta pero como va de lo mismo.. si hay que cambiar me lo dicen y creo otro nuevo.
Resulta que me he cambiado hace nada de pic a estos micros de 32bit, yo estoy usando la placa STM32F4 Discovery STM32F407 Cortex-m4 Developme... y la verdad que todavía estoy muy verde, poco a poco lo estoy asimilando. pero una cosa que me pasa con el STM32Cube, ósea que uso las mismas herramientas que están en este hilo, y lo que me pasa es que he estado mirando lo de la interrupción SYStick para el manejo de tiempos y he llegado a esta línea


Pues en el cube yo configuro una velocidad diferente de reloj.

Compilo el proyecto y cuando voy a la configuración de la velocidad de reloj que he puesto más arriba no cambia de ese valor de 16MHz al nuevo valor de 168MHz que he configurado.

¿Estoy haciendo algo mal o esto hay que configurarlo a mano y lo del cube son solo cálculos apara que nosotros sepamos que hay que cambiar?

Otra pregunta Off Topic.. ¿me podéis recomendar algún libro para el manejo de estos micros?, preferiblemente en castellano que mi inglés es muy básico.

Gracias
Más códigos y desarrollos en https://electronicadicto.wordpress.com/ date una vuelta y curiosea un rato...

Desconectado KILLERJC

  • Colaborador
  • DsPIC33
  • *****
  • Mensajes: 8242
Re:Dudas STM32CubeMX
« Respuesta #13 en: 06 de Junio de 2018, 10:04:30 »
Pienso que deberia ponerse en el valor correcto, pero pensandolo un poco tal ves ese valor sea el del cristal porque se use al comienzo (delays,etc), y luego se actualice una ves que el PLL se encuentra funcionando.

Si no me equivoco las que lo actualizan son HAL_RCC_ClockConfig() o HAL_RCC_GetHCLKFreq(), podes fijarte si existe esas funciones luego de activar el PLL y setear la frecuencia, y si es asi, ese valor deberia actualizarse en runtime. Tambien podrias, si tenes una placa de evaluacion realizar un debug y observar si ese valor cambia.

Desconectado planeta9999

  • Moderadores
  • DsPIC30
  • *****
  • Mensajes: 3520
    • Pinballsp
Re:Dudas STM32CubeMX
« Respuesta #14 en: 06 de Junio de 2018, 11:24:29 »
 
Estás seleccionando el oscilador RC interno (HSI), no es nada recomendable teniendo en cuenta que en la placa de la Discovery tienes el cuarzo para poder usar el oscilador a cuarzo (HSE) que es mucho más preciso y estable.

El fuente que consultas es correcto, eso te lo genera todo automáticamente el Cube y está bien, el SystemCoreClock es 16Mhz (HSI RC), que se convierte a 168Mhz con el PLL, y eso seguirá así mientras no cambies el valor HSI RC. Igual que a cuarzo será siempre a 8 Mhz y se elevará a 168Mhz también con el PLL, a menos que uses un cuarzo de otro valor y lo cambies en HSE Input frequency.

Cambia la configuración del oscilador, selecciona HSE en PLL Source Mux, para usar el oscilador a cuarzo y cambia tambien el valor Input frequency de HSE para el valor del cuarzo, que si no recuerdo mal es de 8Mhz en la Discovery. Una vez hecho eso tendrás que configurar el PLL para que saque 168Mhz.

En cuanto a libros, en español no vas a encontrar nada, es lo mismo que pedir los datasheet en otro idioma que no sea el inglés.


Esta es la configuración en Cube, para usar el oscilador a cuarzo de 8Mhz con la Discovery.



« Última modificación: 06 de Junio de 2018, 11:35:40 por planeta9999 »