Soy muy nuevo en los proyectos STM32 y es la primera vez que escribo un programa con STM32. Solía programar con AVR y ahora debería pasar a STM32. Tengo un foro con STM32F427VG en él sin ningún XTAL externo. Escribí el siguiente código para hacer parpadear un simple LED:
#include "stm32f4xx_conf.h"
#include "stm32f4xx.h"
int main(void)
{
RCC_AHB1PeriphClockCmd(RCC_AHB1Periph_GPIOA, ENABLE);
GPIO_InitTypeDef GPIO_InitDef; //Where GPIO_InitDef is variable to work with struct
GPIO_InitDef.GPIO_Pin = GPIO_Pin_4 ;
GPIO_InitDef.GPIO_Mode = GPIO_Mode_OUT;
GPIO_InitDef.GPIO_Speed = GPIO_Speed_50MHz;
GPIO_Init(GPIOA, &GPIO_InitDef);
GPIO_SetBits(GPIOA, GPIO_Pin_4);
GPIO_ResetBits(GPIOA, GPIO_Pin_4);
int i;
while(1)
{
GPIO_SetBits(GPIOA, GPIO_Pin_4);
for (i = 0; i < 500000; i++);
GPIO_ResetBits(GPIOA, GPIO_Pin_4);
for (i = 0; i < 500000; i++);
}
}
Uso Embitz para compilar mi código. Para configurar el reloj interno, uso la siguiente configuración:
Luego presiono ejecutar y luego generar. Luego copio el archivo system_stm32f4xx
generado y lo reemplazo por el archivo system_stm32f4xx
predeterminado en el proyecto.
Aún así, no puedo ver ningún cambio en el LED.
Sé que soy muy nuevo en los proyectos STM32, así que lo más probable es que esta pregunta sea muy simple para cualquiera. Gracias si alguien me ayuda a encontrar el problema.