0 / 0 / 0
Регистрация: 21.10.2013
Сообщений: 1,520
1

Внешние прерывания: как проверить что на входе?

12.11.2013, 08:22. Показов 2279. Ответов 3
Метки нет (Все метки)

Если я использую внешние прерывания, то порт настраиваю на альтернативную функцию.

А как мне теперь не из прерывания, а из основного потока проверить состояние ножки - что там: "1" или "0"?

Переинициализировать каждый раз порт?
Тогда прерывание могу пропустить (или ошибаюсь?).
Нет вариантов?
__________________
Помощь в написании контрольных, курсовых и дипломных работ здесь
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
12.11.2013, 08:22
Ответы с готовыми решениями:

Внешние прерывания
Присобачил к STMf100 ENC28J60, пакеты принимает/отправляет) Решил забирать пакеты по прерыванию по...

Внешние прерывания
Всем привет! пытаюсь осуществить светодиодную подсветку лестницы. Вверху и внизу стоят датчики...

Внешние прерывания
Кто-нить вкурсе есть ли у СТМов флаги внешних прерываний портов, а если есть то где их найти? А то...

Внешние прерывания
нужно что бы при нажатии на кнопку отрабатывало прерывание. Я сделал так (все на мегае16, на...

3
1 / 1 / 0
Регистрация: 11.01.2013
Сообщений: 5,483
12.11.2013, 14:29 2
Цитата Сообщение от Pymkvym
Если я использую внешние прерывания, то порт настраиваю на альтернативную функцию.

А как мне теперь не из прерывания, а из основного потока проверить состояние ножки - что там: "1" или "0"?

Переинициализировать каждый раз порт?
Тогда прерывание могу пропустить (или ошибаюсь?).
Чтобы от GPIO-пина срабатывало внешнее прерывание, не надо менять GPIO-функцию на альтернативную.
GPIO работает сам по себе (и Вы можете в любой момент считать состояние входа), EXTI - работает само по себе (когда состояние входа изменится - прилетит прерывание, если настроено и разрешено).
0
0 / 0 / 0
Регистрация: 21.10.2013
Сообщений: 1,520
12.11.2013, 14:59 3
Спасибо большое!
Для меня это сильно упрощает ситуацию!
Видно я просто не правильно понял.
10.//Прерывания - это альтернативная функция порта
11.//поэтому надо установить бит Ottirnate function I/O clock enable
12.//в регистре RCC_APB2ENR
13.RCC_APB2PeriphClockCmd(RCC_APB2ENR_AFIOEN , ENABLE);
Речь, видимо, только о тактировании идет?
Хотя в цитате прямым текстом...
http://iosystm32.ru/for-bikymm... g-in-stm32
0
1 / 1 / 0
Регистрация: 11.01.2013
Сообщений: 5,483
12.11.2013, 15:36 4
А какой МК?

Статья по ссылке то ли сильно устарела, то ли автор не до конца разобрался в возможностях разных МК. Цитирую:
Прерывание может генерировать любая ножка любого порта, но таких ног может быть не более 16 штук. Вот тут-то STM32 страшно рулит по сравнению с большинством AVRок у которых подобных прерываний всего два и они жестко привязаны к определённым ногам.
На самом деле во всех современных AVR прерывание может генерировать любая ножка любого порта, т.е. таких ног может быть несколько десятков. И это не считая тех классических INT0,INT1, "которых всего два и они жестко привязаны к определённым ногам". У STM32 - по-прежнему только 16 линий EXTI.

Беру навскидку простенькую АТмегу48 в 28-ногом корпусе - 23+2 внешних прерываний!
Ну и кто в этом смысле "страшно рулит"? ;-)
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
12.11.2013, 15:36

Внешние прерывания
Добрый вечер, у меня на меге 8 работает ацп + необходимо обрадатывать внешнее прерывание от пина...

Внешние прерывания
Доброе время суток! Подскажите пожалуйста как настроить внешнее прерывание на еще одном порте. Я...

Внешние прерывания ATMega128
Всем привет. У меня задача такая: есть меиндр с изменяющейся частой и надо замерять время между...

Внешние прерывания STM8L
Доброе время суток. Разбираюсь сейчас с STM8L-Dyscovery. Пытаюсь повесить внешнее прерывание по...

Внешние прерывания STM8L
Всем доброго дня! Столкнулся с чем-то непонятным работая с внешними прерываниями на...

Внешние прерывания STM32F407
Добрый день! Вообщем только начал разбираться с STM32F407 discovery. Светодиодом помаргал, кнопку...


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

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2022, CyberForum.ru