2 votos

Problema con el valor del registro de control de la placa STM32F4 Discovery

En Atollic TrueSTUDIO abro un proyecto vacío sin ninguna configuración.

#include "stm32f4xx.h"
#include "stm32f4_discovery.h"

int main(void)
{
  while (1)
  {

  }
}

void EVAL_AUDIO_TransferComplete_CallBack(uint32_t pBuffer, uint32_t Size){
  /* TODO, implement your code here */
  return;
}

uint16_t EVAL_AUDIO_GetSampleCallBack(void){
  /* TODO, implement your code here */
  return -1;
}

y observo los valores en el registro CR.

enter image description here

Como se ve en la foto viene lleno de muchos bits. Incluso tanto HSE como HSI están activos. ¿Por qué? ¿Cómo?

Sólo esperaba que HSI estuviera activo porque el valor de reset de este registro es 0x83.

Tampoco puedo restablecer los valores de los bits cuando añado el código RCC->CR=0x83; al programa. ¿Dónde estoy cometiendo un error? (Estoy añadiendo el código RCC->CR=0x83; al principio del while).

¿Por qué están predefinidos estos ajustes? ¿Por qué no cambia el registro cuando asigno un valor?


STM32F407xx Registro RCC del Manual de Referencia:

STM32F407xx RCC Register from Reference Manual

1voto

JukesOnYou Puntos 398

Main() no es donde arranca el chip.
Encuentra el manejador de interrupción de reinicio. Allí encontrarás que llama a SystemInit que hace algunas configuraciones básicas y relojes para usted.

i-Ciencias.com

I-Ciencias es una comunidad de estudiantes y amantes de la ciencia en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X