Посмотрел ситуацию с тактированием. Получается так. Если идти пошагово до main, то с тактированием подядок. 72 МГц на усарте есть. Если же запускать "run to9 main" или просто с отключенным программатором, то на усарте 8 МГц. Т.е. тактирование не настраивается. В чем может быть дело? Раньше с подобным не сталкивался. Прочитать регистры ни программатором ни с помощью r = RCC->CFGR; не удается. Только если пошагово пройтись, то они видны. Помогите понять ситуацию. Спасибо.
Ну вобщем разобрался. Вот тут выходил по таймауту.
Код
/* Wait till HSE is ready and if Time out is reached exit */
do
{
HSEStatus = RCC->CR & RCC_CR_HSERDY;
StartUpCounter++;
} while((HSEStatus == 0) && (StartUpCounter != HSE_STARTUP_TIMEOUT));
Если в строке увеличить значениетаймаута, то все в порядке.
Код
#define HSE_STARTUP_TIMEOUT ((uint16_t)0xffff) /*0x0500!< Time out for HSE start up */
Хотелось бы знать почему HSE не выходит на готовность вовремя? Кейловцы же из чего-то исходили перед тем как записать значение 0х0500. Внесем ясность в это дело и тему можно закрывать.
Живи днем так, чтобы ночью ты спал спокойно.