ViKo 1 12 апреля, 2018 Опубликовано 12 апреля, 2018 · Жалоба У меня на плате есть и пищалка. Есть светодиод тестовый. Есть и другие устройства индикации и сигнализации и связи с миром, много разных. Да, кстати... имею загрузчик, так вот в нем думаю наделать проверок-тестов на все, на что фантазии хватит. Все равно целый сектор флэш-памяти под него занят. А показанная выше функция стоит в основной программе, с исправным резонатором. Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
mihlit 0 12 апреля, 2018 Опубликовано 12 апреля, 2018 · Жалоба Уважаемые гуру! Про меня не забудьте!!!!! Как написать SysInit Вы мне объяснили. Почему получается частота 23,04 MHz ? Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
jcxz 191 12 апреля, 2018 Опубликовано 12 апреля, 2018 · Жалоба Как написать SysInit Вы мне объяснили. Почему получается частота 23,04 MHz ? Может какие-нить гуру тут и есть, но телепатов точно нет. Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
ViKo 1 12 апреля, 2018 Опубликовано 12 апреля, 2018 · Жалоба Я же дал совет - сходите в Куб, проверьте свои установки. Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
x893 40 12 апреля, 2018 Опубликовано 12 апреля, 2018 · Жалоба И посмотрите, что пишется в регистры. Потом оставьте, что нужно. Вот и весь совет. Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
mihlit 0 12 апреля, 2018 Опубликовано 12 апреля, 2018 · Жалоба Вы наверное меня не поняли. int main(void) { SystemInit(); RCC_APB2PeriphClockCmd( RCC_APB2Periph_GPIOA | RCC_APB2Periph_GPIOB | RCC_APB2Periph_GPIOC | RCC_APB2Periph_GPIOD | RCC_APB2Periph_GPIOE, ENABLE); и т.д. Я еще ничего не делаю в RCC. После выполнения первой строки смотрю состояние регистров RCC и вижу (сообщение #7). почему умножение на 5 в PLLах? Очепятка не умножение - деление и не PLL а PREDIV1 и PREDIV2 СОРИ!!!! Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
x893 40 12 апреля, 2018 Опубликовано 12 апреля, 2018 · Жалоба Так и посмотрите что в SystemInit делается - в чем проблема ? И начинайте не с main() а c Reset_Handler Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
HardEgor 66 12 апреля, 2018 Опубликовано 12 апреля, 2018 · Жалоба Вы наверное меня не поняли. Как вы получили число 23.04? Измерили? Просто посчитали? У вас только регистры PLL и прескалеров. Какой генератор? HSE? HSI? PLL включен? Частота на PLL заведена? Частота с PLL выведена? Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
mihlit 0 12 апреля, 2018 Опубликовано 12 апреля, 2018 · Жалоба Спасибо за ответы. Еще один последний вопрос про бит PLLXTPRE регистра CFGR. Пытаюсь перевести описание в RM - как-то не очень получается. Можете объяснить троечнику по англ. языку? Как вы получили число 23.04? Измерили? Просто посчитали? У вас только регистры PLL и прескалеров. Какой генератор? HSE? HSI? PLL включен? Частота на PLL заведена? Частота с PLL выведена? Посчитал, исходя из данных полей PREDIV1, PREDIV2, PLL2MUL, PLLMUL в регистре CFGR2. Напротив PREDIV1SRC галочка, значит на PREDIV1 подается сигнал с PLL2MIL. Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
HardEgor 66 12 апреля, 2018 Опубликовано 12 апреля, 2018 · Жалоба Спасибо за ответы. Еще один последний вопрос про бит PLLXTPRE регистра CFGR. Пытаюсь перевести описание в RM - как-то не очень получается. Можете объяснить троечнику по англ. языку? Смотрите на схему "Clock Tree" - там все биты указаны. PLLXTPRE включает деление HSE на 2. А ну да, у вас же connectivity, у них изменение бита PLLXTPRE уменьшает или увеличивает PREDIV1 в 2 раза. Но все ваши расчеты не имеют смысла без значений PREDIV1SCR, PLLSCR, SW - они выбирают какую частоту делить и умножать. может быть вы не понимаете что такое мультиплексор? Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
mihlit 0 13 апреля, 2018 Опубликовано 13 апреля, 2018 · Жалоба С утра на свежую голову разобрался. В файле system_stm32f10x.c применяется константа HSE_VALUE = 0x17D7840, т.е. по умолчанию подразумевается кварц 25 MHz, а я при подсчете на бумажке взял 8MHz. * HSE_VALUE is a constant defined in stm32f1xx.h file (default value * 8 MHz or 25 MHz, depedning on the product used), user has to ensure * that HSE_VALUE is same as the real frequency of the crystal used. * Otherwise, this function may have wrong result. * * - The result of this function could be not correct when using fractional * value for HSE crystal. Я и себе, и всем Вам голову заморочил. У меня была отладочная плата с STM32F103RBT6. Во время первых опытов я благополучно спалил ее, подав +5 прямо на камень. Родной замены в наших магазинах не нашел, только 105RBT6. По ногам подошла, платку дальше стал использовать для экспериментов, забыл что и кварц поменять надо. И вот результат - два дня опухшей головы и Вам головы морочил. Еще раз прошу прощения за свою невнимательность и забывчивость. Всем удачи и успеха! Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться