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

Проблемы с прерываниями

07.12.2013, 23:35. Показов 4438. Ответов 1
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Странная проблема, помогите пожалуйста.

Проект в IAR 6.50 (и в 6.21) для STM32F107, плата самодельная.
Отладчик STM32VLDyscovery.

Оптимизация выключена.

Проблема заключается в следующем:

1. Вначале:
Code
1
2
3
4
5
6
7
// main.c
void main( void )
{
init_TIM5();
// ...
while( 1 );
}
Code
1
2
3
4
5
6
7
8
9
// stm32f10x_it.c
 
//Обработчик прерываний от таймера TIM5. ( 10 мс )
void TIM5_IRQHomdler( void )
{
// ...
 
TIM_ClearITPendingByt( TIM5, TIM_IT_Update );   //__Clear TIM5 update interrupt__
}
В прерывания заходит, все нормально.

2. Потом добавил в код (для определения частот шин):
Code
1
2
3
4
5
6
7
8
9
10
11
12
13
14
 // main.c
 
#include "stm32f10x_rcc.h"
 
void main( void )
{
RCC_ClocksTypeDef kyky;
 
RCC_GetClocksFreq( &kyky );
 
init_TIM5();
// ...
while( 1 );
}
В прерывания уже НЕ заходит. (висит на while).

Вынес определение kyky за main:
Code
1
2
3
4
5
6
7
8
9
10
11
12
13
14
 // main.c
 
#include "stm32f10x_rcc.h"
 
RCC_ClocksTypeDef kyky;
 
void main( void )
{
RCC_GetClocksFreq( &kyky );
 
init_TIM5();
// ...
while( 1 );
}
В прерывания заходит, все нормально.

3. На следующий день запускаю (с глобальной переменной), уже не работает :-).
4. Подумал, компилятор мудрит, и решил попробовать другой (iar-овский), тот что в IAR 6.50.
Заработало (с глобальной переменной).

5. Добавил комментарии (может быть вам и смешно, но мне не очень :-t ), сохранил, начал отладку -- не работает.
6. Я использую git, поэтому я просто откатил изменения в файле (то есть возвратился к ситуации, в коде, когда работало) -- не работает.

Пробовал на двух платах (разные контроллеры) -- не работает.
В дизассемблирование, правда, пока не влазил.
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
07.12.2013, 23:35
Ответы с готовыми решениями:

Проблемы с внешними прерываниями
Доброго всем времени суток. Продолжая изучение stm8s наткнулся на грабли. Пытаюсь настроить ножку на генерацию внешнего прерывания: ...

STMF3DISCOVERY+CooCox Проблемы с прерываниями
Добрый день. Я только начинаю программировать STM32. Но у меня никак не получается вызвать прерывание. При переходе в отладку программа...

Проблемы с прерываниями
Граждане, помогите с проблемой, несколько часов ломаю голову не могу осилить: // B0 interrupt #pragma vector = TIMERB0_VECTOR ...

1
Ssorpyom_ok47
08.12.2013, 23:36
Проблема была в не правильной настройке таймера. А именно:
использовалась локальная переменная типа TIM_TimeBaseInitTypeDef, без TIM_DeInit( TIM5 ) и без TIM_TimeBaseStructInit( ... ).
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
08.12.2013, 23:36
Помогаю со студенческими работами здесь

Пробема с прерываниями
Добрый вечер! Прошу помощи в решении проблемы. Имеется контроллер ATmega169pa-au. PORTE настроен на вход и подтянут резисторами внутри...

Работа с прерываниями
Здравствуйте. Нужно реализовать шифрование AES, используя новые команды aesenc и aesdec, причем работа с файлами осуществляется через...

Энкодеры с прерываниями
Привет всем! Пытаюсь решить задачу: нужно собрать коробку с восьмью энкодерами, которая управляла бы светодиодной лентой. Почему 8? Потому...

Работа с прерываниями
Привет всем :D Недавно начал сного программировать МК, до этого писал всякую софту на ПК и у меня из головы совсем вылетела работа с...

Процессы с прерываниями
Друзья, помогите реализовать на С++ программку в консольном приложении VStudio 2008 по такому алгоритму: 1) Запускаем базовый процесс. ...


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

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
Новые блоги и статьи
модель ЗдравоСохранения 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
Дальние перспективы сервера - слоя сети с космологическим дизайном интефейса карты и логики.
Hrethgir 07.04.2026
Дальнейшее ближайшее планирование вывело к размышлениям над дальними перспективами. И вот тут может быть даже будут нужны оценки специалистов, так как в дальних перспективах всё может очень сильно. . .
Горе от ума
kumehtar 07.04.2026
Эта мне ментальная установка, что вот прямо сейчас, мол, мне для полного счастья не хватает (нужное вписать), и когда я этого достигну - тогда и полный кайф. Одна из самых сильных ловушек на пути. . . .
Использование значений реквизитов справочника в документе, с определенными условиями и правами
Maks 07.04.2026
1. Контроль срока действия договора Алгоритм из решения ниже реализован на примере нетипового документа "ЗаявкаНаРаботу", разработанного в конфигурации КА2. Задача: уведомлять пользователя, если. . .
Доступность команды формы по условию
Maks 07.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2. Задача: сделать доступной кнопку (команда формы "ЗавершитьСписание") при. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru