Добрый день. Снова возникли вопросы по указанной плате. Судь в следующем. В документации на контроллер про регистр RCC_CR указанно состояние при сбросе 0x0000ХХ83. Что означает включение HSI и отключение HSE, PLL main и PLL I2S. Однако, в отладчике в регистрах при загрузке стоят совсем другие значения. Из которых видно, что все элелементы, кроме PLL I2S включены. И выключить их удалось, только после загрузки в регистр RCC_CFGR значения с выбором источника тактирования. До этого побитно отключить неиспользуемые элементы не удалось. Значения в регистре RCC_CR не менялись. Вдобавок, в описании регистра RCC_CFGR присутствует такая строчка "1 or 2 wait states inserted only if the access occurs during a clock source switch" Перевести её по словам не сложно, но общий смысл по отношению к контроллеру понять не смог... Значения регистра при инициализации указанны 0х00000000... Однако в отладчике снова другие значения... Опытным путём установил, что обратиться к данному регистру изменяя биты отдельно, не получается... Вот эта надпись работает: RCC->CFGR = 0x00000001; // set HSE system clock А вот эта нет: RCC->CFGR |= (1<<0); // set HSE system clock Может быть кто-то разбирался с этим регистром...? О каких задержках идёт речь в нём, когда их нужно вставлять и при каких переключениях...? И только после установки RCC->CFGR = 0x00000001; // set HSE system clock можно было отключить HSI и PLL main сбрасывая соответствующие биты регистра RCC_CR...
|