Форум программистов, компьютерный форум, киберфорум
Микроконтроллеры ARM, Cortex, STM32
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.67/6: Рейтинг темы: голосов - 6, средняя оценка - 4.67
 Аватар для Rustam98
1 / 1 / 1
Регистрация: 24.10.2019
Сообщений: 111

Не находит переменную

23.03.2020, 14:32. Показов 1328. Ответов 3

Студворк — интернет-сервис помощи студентам
Здравствуйте, странная проблема возникла с настройкой PLL множителей.
Вообщем создаю функцию для инициализации тактирования для STM32f103c8t6
Вот функция:
C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
void RCC_Ini (void)
{
    RCC->CR |= ((uint32_t) RCC_CR_HSEON);                       
    while (!(RCC->CR & RCC_CR_HSERDY));                                 
    
    FLASH->ACR = FLASH_ACR_PRFTBE | FLASH_ACR_LATENCY;      
    
    RCC->CFGR |= RCC_CFGR_HPRE_DIV1;                                        
    RCC->CFGR |= RCC_CFGR_PPRE1_DIV2;                                       
    RCC->CFGR |= RCC_CFGR_PPRE2_DIV1;                                   
    
    RCC->CFGR &= ~RCC_CFGR_PLLMULL;                                         
    RCC->CFGR &= ~RCC_CFGR_PLLSRC;                                                  
    RCC->CFGR &= ~RCC_CFGR_PLLXTPRE;
    
    //RCC->CFGR |= RCC_CFGR_PLLSRC_PREDIV1;                                 
    RCC->CFGR |= ((uint32_t)0x00010000);
    //RCC->CFGR |= RCC_CFGR_PLLXTPRE_PREDIV1;                               
    RCC->CFGR |= ((uint32_t)0x00000000);
    
    RCC->CFGR |= RCC_CFGR_PLLMULL9;                                     
    
    RCC->CR |= RCC_CR_PLLON;                                            
    
    while((RCC->CR & RCC_CR_PLLRDY) == 0)
    {}  
    
    RCC->CFGR &= ~RCC_CFGR_SW;                              
    RCC->CFGR |= RCC_CFGR_SW_PLL;                                           
    while((RCC->CFGR & RCC_CFGR_SWS) != RCC_CFGR_SWS_1)
    {}
}
Как видите есть интересная часть с настройкой PLL
C
1
2
3
4
//RCC->CFGR |= RCC_CFGR_PLLSRC_PREDIV1;                                 
    RCC->CFGR |= ((uint32_t)0x00010000);
    //RCC->CFGR |= RCC_CFGR_PLLXTPRE_PREDIV1;                               
    RCC->CFGR |= ((uint32_t)0x00000000);
Все потому что при компиляции проекта кэйл не может найти RCC_CFGR_PLLSRC_PREDIV1 и RCC_CFGR_PLLXTPRE_PREDIV1. Хотя зайдя в stm32f10x.h и прописав эти объявления в поиске он без труда находит их и выдает те адреса которые я подключил по альтернативе.
Как пофиксить?
Миниатюры
Не находит переменную   Не находит переменную  
0
Лучшие ответы (1)
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
23.03.2020, 14:32
Ответы с готовыми решениями:

Скрипт не находит переданную переменную
Видимо, очередная история из серии "гладко было на localhost-е"... То есть на локальной машине всё было нормально, а при заливке на...

Solve не находит неизвестную переменную
В выражении всё известно, кроме a, пытаюсь его найти с помошью solve, но он выдаёт новое выражение, в котором также есть это a....

Находит только первую переменную
Задание было решить функцию, программа находит только первую переменную С, нужно чтобы прога прошлась по всей функции, что тут не так? ...

3
Эксперт по электронике
6849 / 3273 / 339
Регистрация: 28.10.2011
Сообщений: 12,795
Записей в блоге: 7
23.03.2020, 14:45
Лучший ответ Сообщение было отмечено Rustam98 как решение

Решение

STM32F103C8T6 это STM32F10X_MD, а том что на вашем скрине относится к 100.
Для 103.
C
1
2
RCC->CFGR &= (uint32_t)((uint32_t)~(RCC_CFGR_PLLSRC | RCC_CFGR_PLLXTPRE | RCC_CFGR_PLLMULL));
RCC->CFGR |= (uint32_t)(RCC_CFGR_PLLSRC_HSE | RCC_CFGR_PLLMULL9);
0
 Аватар для Rustam98
1 / 1 / 1
Регистрация: 24.10.2019
Сообщений: 111
23.03.2020, 15:30  [ТС]
Спасибо я попробую, отпишусь попозже. Но вроде похоже на правду если как я понял RCC_CFGR_PLLSRC_HSE включает HSE и автоматом ставит делитель 1?
0
 Аватар для Rustam98
1 / 1 / 1
Регистрация: 24.10.2019
Сообщений: 111
23.03.2020, 22:15  [ТС]
Спасибо, помогло. Заменил свои команды на вашу и та которая была рядом, они имеют те же адреса что и предыдущие но кйлом находятся. Да и по описанию выполняют те же функции.
#define RCC_CFGR_PLLSRC_HSE ((uint32_t)0x00010000) /*!< HSE clock selected as PLL entry clock source */

#define RCC_CFGR_PLLXTPRE_HSE ((uint32_t)0x00000000) /*!< HSE clock not divided for PLL entry */
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
23.03.2020, 22:15
Помогаю со студенческими работами здесь

Не находит переменную в условном блоке
create function zapros4 (@num int) returns @rez table (id int, name varchar(30), speciality varchar(20), brigada int) as begin ...

Находит только первую переменную
Вообщем ребят, питон выводит только M и на этом заканчивает программу, что нужно дописать чтобы он пробежался по всей программе вот...

Создание и обработка массива - не находит переменную I
Короче пишу прогу на Лазарусе, которая позволяет заполнить массив случайными числами, а потом найти минимальный элемент, максимальный,...

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

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


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

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
Новые блоги и статьи
Контроль заполнения и очистка дат в зависимости от значения перечислений
Maks 12.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "ПланированиеПерсонала", разработанного в конфигурации КА2. Задача: реализовать контроль корректности заполнения дат назначения. . .
Архитектура слоя интернета для сервера-слоя.
Hrethgir 11.04.2026
В продолжение https:/ / www. cyberforum. ru/ blogs/ 223907/ 10860. html Знаешь что я подумал? Раз мы все источники пишем в голове ветки, то ничего не мешает добавить в голову такой источник, который сам. . .
Подстановка значения реквизита справочника в табличную часть документа
Maks 10.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "ПланированиеПерсонала", разработанного в конфигурации КА2. Задача: при выборе сотрудника (справочник Сотрудники) в ТЧ документа. . .
Очистка реквизитов документа при копировании
Maks 09.04.2026
Алгоритм из решения ниже применим как для типовых, так и для нетиповых документов на самых различных конфигурациях. Задача: при копировании документа очищать определенные реквизиты и табличную. . .
модель ЗдравоСохранения 8. Подготовка к разному выполнению заданий
anaschu 08.04.2026
https:/ / github. com/ shumilovas/ med2. git main ветка * содержимое блока дэлэй из старой модели теперь внутри зайца новой модели 8ATzM_2aurI
Блокировка документа от изменений, если он открыт у другого пользователя
Maks 08.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа, разработанного в конфигурации КА2. Задача: запретить редактирование документа, если он открыт у другого пользователя. / / . . .
Система безопасности+живучести для сервера-слоя интернета (сети). Двойная привязка.
Hrethgir 08.04.2026
Далее были размышления о системе безопасности. Сообщения с наклонным текстом - мои. А как нам будет можно проверить, что ссылка наша, а не подделана хулиганами, которая выбросит на другую ветку и. . .
Модель ЗдрввоСохранения 7: больше работников, больше ресурсов.
anaschu 08.04.2026
работников и заданий может быть сколько угодно, но настроено всё так, что используется пока что только 20% kYBz3eJf3jQ
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru