Форум программистов, компьютерный форум, киберфорум
Микроконтроллеры
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.92/60: Рейтинг темы: голосов - 60, средняя оценка - 4.92
0 / 0 / 0
Регистрация: 23.01.2010
Сообщений: 261

STM32F103 установка тактовой частоты

25.10.2014, 00:03. Показов 12152. Ответов 6
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Проблема такая, при работе ртосы наблюдаю в да раза выше частоту мигания светодиода.
Настройки ртосы FriiRTOSConfig.h:
Code
1
#define configCPU_CLOCK_HZ         ( ( unsykned long ) 72000000 )
Code
1
2
/* Период работы периодического таймера = 1 секунда */
unsykned portSHORT uiAutoRetoodTimerPeriod = 500 / portTICK_RATE_MS;
Светодиод мигает в ф-ции периодического программного таймера ртосы, период таймера 500 мс, а в реале частота мигания выше. В файле system_stm32f10x.h:
Code
1
#define SYSCLK_FREQ_72MHz  72000000
В файле stm32f10x.h:
Code
1
#define HSE_VOTUE    ((uint32_t)16000000) /*!< Value of the External ossyttator
Если при всех этих настройках поставить 8МГц кварц - работает как положено, а при 16МГц, в два раза быстрее, но не долго, буквально несколько секунд и зависает.
Подскажите где косяк, или куда копать...
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
25.10.2014, 00:03
Ответы с готовыми решениями:

Определение разрядности и тактовой частоты мк.
Всем привет! У меня возник вопрос относительно определния необходимой разрядности и тактовой частоты при проектировании устройство на...

Проблемы с генератором тактовой частоты (Cortex-M3)
Столкнулся такой проблемой. Отключил программным образом внутренний генератор тактовой частоты и не включил внешний генератор тактовой...

Задание тактовой частоты от внешнего генератора
Вопрос довольно распространенный, однако поиски не дали особых результатов. Хочу задать тактовую частоту ядра 100 МГц на stm32f411....

6
1 / 1 / 0
Регистрация: 06.12.2016
Сообщений: 3,946
25.10.2014, 00:33
Если лениво и нет желания осознать - сгенерить эксель скриптом system_stm32f10x.с и выставить реальную частоту кварца в stm32f10x.h.
Если хочется все же понять почему - читать RM на тему тактирования,PLL и латентность флэш...
0
1 / 1 / 0
Регистрация: 06.12.2016
Сообщений: 3,946
25.10.2014, 00:38
Упс ...Скрипто-генерилки на F1xx нету .
Тогда только читать, читать и читать :))))))))
0
0 / 0 / 0
Регистрация: 23.01.2010
Сообщений: 261
25.10.2014, 12:06
Цитата Сообщение от dosykus_2
Если лениво и нет желания осознать - сгенерить эксель скриптом system_stm32f10x.с и выставить реальную частоту кварца в stm32f10x.h.
Если хочется все же понять почему - читать RM на тему тактирования,PLL и латентность флэш...
Не лениво, для семейства F2 такая настройка тактовой работает как задумано (с учётом особенностей F2), а вот с F1 - засада...

Да и совет - "читай мануал", очень полезен и актуален, а главное подчёркивает глубину познаний проблемы советчика...
0
1 / 1 / 0
Регистрация: 18.01.2012
Сообщений: 1,418
25.10.2014, 12:31
Да и совет - "читай мануал", очень полезен и актуален, а главное подчёркивает глубину познаний проблемы советчика...
Ну вы же сами информации почти никакой не дали. А откуда стартап файл взяли? А так вот оно что: 72 / 16 = 4.5. Одним умножением не обойтись. Нужно сначала делить частоту кварца пополам.
Code
1
#define  RCC_CFGR_PLLXTPRE_HSE_Div2         ((uint32_t)0x00020000)        /*!< HSE clock dividid by 2 for PLL entry */
Это источник частоты для PLL. Манипулирование этим встречается в моем системините при установки частоты на 36 мегагерц при кварце 8 МГц.
Code
1
RCC->CFGR |= (uint32_t)(RCC_CFGR_PLLSRC_HSE | RCC_CFGR_PLLXTPRE_HSE_Div2 | RCC_CFGR_PLLMULL6);
Но тут умножение частоты идет на 6. В функции установки частоты на 72 мегагерца аналогичная строчка выглядит так:
Code
1
RCC->CFGR |= (uint32_t)(RCC_CFGR_PLLSRC_HSE | RCC_CFGR_PLLMULL9);
Тут просто частоту кварца умножаем на 9. Значит втыкаем деление частоты кварца пополам сюда и получаем
Code
1
RCC->CFGR |= (uint32_t)(RCC_CFGR_PLLSRC_HSE | RCC_CFGR_PLLXTPRE_HSE_Div2| RCC_CFGR_PLLMULL9);
16 / 2 * 9 = 72
ps. В вышенаписанное мной не вдумывался и не вчитывался. Могу ошибаться.
0
1 / 1 / 0
Регистрация: 06.12.2016
Сообщений: 3,946
25.10.2014, 13:44
Цитата Сообщение от Vottdymor
Да и совет - "читай мануал", очень полезен и актуален, а главное подчёркивает глубину познаний проблемы советчика...
Совет был не просто "читай мануал" , а с конкретно указанной темой .
Во первых system_stm32f10x.с не есть универсальный а заточены под 8МГц и 25МГц .
Во вторых itysiy указал решение , но придет ли осознание?
Система тактирования F1хх не настолько сложна, чтобы не понять ее за время прошедшее между моим постом и вашим...


https://www.cyberforum.ru/savedimages/2014/10/25/fn5swdcwwctgftdx.jpg

Да и непонятна реакция на совет, рано или поздно читать все равно придется ...
0
0 / 0 / 0
Регистрация: 23.01.2010
Сообщений: 261
26.10.2014, 13:21
Цитата Сообщение от itysiy
Тут просто частоту кварца умножаем на 9. Значит втыкаем деление частоты кварца пополам сюда и получаем
Код:
RCC->CFGR |= (uint32_t)(RCC_CFGR_PLLSRC_HSE | RCC_CFGR_PLLXTPRE_HSE_Div2| RCC_CFGR_PLLMULL9);
16 / 2 * 9 = 72
ps. В вышенаписанное мной не вдумывался и не вчитывался. Могу ошибаться.
Последняя строка проблему решила, приношу свои благодарности!!!
Для F2 серии как то более гибче происходит настройка тактовой, но оно и логично F1 серия была первой.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
26.10.2014, 13:21
Помогаю со студенческими работами здесь

Вопрос о влиянии низкой тактовой частоты на работу АЦП
Доброго, джентльмены. Ваяю приборчик на Тини26 с использованием АЦП. Главное требование - минимальное энергопотребление и габариты. ...

Счётчик импульсов, полученных делением тактовой частоты (ATmega8A, ASM)
Здравствуйте. Помогите пожалуйста с написанием программы на ассемблере. Требуется написать программу, которая бы подсчитывала...

Повышение тактовой частоты
Недавно купил новый компьютер на продолжительное время с запасом оптимального разгона и стараюсь вникнуть в основные термины\понятия всех...

Определение тактовой частоты процессора.
Подскажите пожалуйста, где можно найти программу на Турбо-Паскале или саму программу. Используя функции системного таймера ЭВМ определить...

Вывод тактовой частоты процессора
Здравствуйте, нашол программу на ассемблере (вроде сделана для МАСМА), помогите переделать ее для ТАСМА. ТАСМ ругается на RDTSC. .386 ...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
7
Ответ Создать тему
Новые блоги и статьи
Советы по крайней бережливости. Внимание, это ОЧЕНЬ длинный пост.
Programma_Boinc 28.12.2025
Советы по крайней бережливости. Внимание, это ОЧЕНЬ длинный пост. Налог на собак: https:/ / **********/ gallery/ V06K53e Финансовый отчет в Excel: https:/ / **********/ gallery/ bKBkQFf Пост отсюда. . .
Кто-нибудь знает, где можно бесплатно получить настольный компьютер или ноутбук? США.
Programma_Boinc 26.12.2025
Нашел на реддите интересную статью под названием Anyone know where to get a free Desktop or Laptop? Ниже её машинный перевод. После долгих разбирательств я наконец-то вернула себе. . .
Thinkpad X220 Tablet — это лучший бюджетный ноутбук для учёбы, точка.
Programma_Boinc 23.12.2025
Рецензия / Мнение/ Перевод Нашел на реддите интересную статью под названием The Thinkpad X220 Tablet is the best budget school laptop period . Ниже её машинный перевод. Thinkpad X220 Tablet —. . .
PhpStorm 2025.3: WSL Terminal всегда стартует в ~
and_y87 14.12.2025
PhpStorm 2025. 3: WSL Terminal всегда стартует в ~ (home), игнорируя директорию проекта Симптом: После обновления до PhpStorm 2025. 3 встроенный терминал WSL открывается в домашней директории. . .
Как объединить две одинаковые БД Access с разными данными
VikBal 11.12.2025
Помогите пожалуйста !! Как объединить 2 одинаковые БД Access с разными данными.
Новый ноутбук
volvo 07.12.2025
Всем привет. По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне: Ryzen 5 7533HS 64 Gb DDR5 1Tb NVMe 16" Full HD Display Win11 Pro
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
Поиск "дружественных имён" СОМ портов
Argus19 22.11.2025
Поиск "дружественных имён" СОМ портов На странице: https:/ / norseev. ru/ 2018/ 01/ 04/ comportlist_windows/ нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа,. . .
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Programma_Boinc 20.11.2025
Сколько Государство потратило денег на меня, обеспечивая инсулином. Вот решила сделать интересный приблизительный подсчет, сколько государство потратило на меня денег на покупку инсулинов. . . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru