Перейти к содержанию
    

У меня на плате есть и пищалка. Есть светодиод тестовый. Есть и другие устройства индикации и сигнализации и связи с миром, много разных.

Да, кстати... имею загрузчик, так вот в нем думаю наделать проверок-тестов на все, на что фантазии хватит. Все равно целый сектор флэш-памяти под него занят.

А показанная выше функция стоит в основной программе, с исправным резонатором.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Уважаемые гуру! Про меня не забудьте!!!!!

Как написать SysInit Вы мне объяснили. Почему получается частота 23,04 MHz ?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Как написать SysInit Вы мне объяснили. Почему получается частота 23,04 MHz ?

Может какие-нить гуру тут и есть, но телепатов точно нет.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Я же дал совет - сходите в Куб, проверьте свои установки.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

И посмотрите, что пишется в регистры. Потом оставьте, что нужно.

Вот и весь совет.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Вы наверное меня не поняли.

 

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 СОРИ!!!!

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Так и посмотрите что в SystemInit делается - в чем проблема ?

И начинайте не с main() а c Reset_Handler

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Вы наверное меня не поняли.

Как вы получили число 23.04? Измерили? Просто посчитали?

У вас только регистры PLL и прескалеров.

Какой генератор? HSE? HSI? PLL включен? Частота на PLL заведена? Частота с PLL выведена?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Спасибо за ответы. Еще один последний вопрос про бит PLLXTPRE регистра CFGR. Пытаюсь перевести описание в RM - как-то не очень получается. Можете объяснить троечнику по англ. языку?

 

Как вы получили число 23.04? Измерили? Просто посчитали?

У вас только регистры PLL и прескалеров.

Какой генератор? HSE? HSI? PLL включен? Частота на PLL заведена? Частота с PLL выведена?

 

Посчитал, исходя из данных полей PREDIV1, PREDIV2, PLL2MUL, PLLMUL в регистре CFGR2. Напротив PREDIV1SRC галочка, значит на PREDIV1 подается сигнал с PLL2MIL.

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Спасибо за ответы. Еще один последний вопрос про бит PLLXTPRE регистра CFGR. Пытаюсь перевести описание в RM - как-то не очень получается. Можете объяснить троечнику по англ. языку?

Смотрите на схему "Clock Tree" - там все биты указаны.

PLLXTPRE включает деление HSE на 2. А ну да, у вас же connectivity, у них изменение бита PLLXTPRE уменьшает или увеличивает PREDIV1 в 2 раза.

Но все ваши расчеты не имеют смысла без значений PREDIV1SCR, PLLSCR, SW - они выбирают какую частоту делить и умножать. может быть вы не понимаете что такое мультиплексор?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

С утра на свежую голову разобрался. В файле 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. По ногам подошла, платку дальше стал использовать для экспериментов, забыл что и кварц поменять надо. И вот результат - два дня опухшей головы и Вам головы морочил.

Еще раз прошу прощения за свою невнимательность и забывчивость.

Всем удачи и успеха!

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Гость
Эта тема закрыта для публикации ответов.
×
×
  • Создать...