реклама на сайте
подробности

 
 
> Хочется программно инициировать прерывание, Но не INT0/INT1, как бы погламурнее
Rst7
сообщение May 20 2008, 11:52
Сообщение #1


Йа моск ;)
******

Группа: Модераторы
Сообщений: 4 345
Регистрация: 7-07-05
Из: Kharkiv-city
Пользователь №: 6 610



Тут задача возникла следующего характера. Как бы инициировать прерывание программным путем?

Самый простой способ - использовать INT0, например, и сконфигурировать прерывание по изменению состояния ноги (нога на вывод), в результате - достаточно шевельнуть ножкой (изменив ее, скажем OUT'ом в PINx) и флаг прерывания установится; соответственно, когда будет разрешено прерывание INT0 - оно и произойдет. Но, к сожалению, INT0 и INT1 заняты, надо изобретать что-то другое.

Вот мысль появилась использовать прерывание от компаратора, причем следующим образом:

Компаратор штатно выключен (он не нужен в проекте), для установки флага прерывания от него использовать последовательность
Код
ACSR=(1<<ACD)|(1<<ACIS1)|(1<<ACIS0); //Comparator Interrupt on Rising Output Edge.
ACSR=(1<<ACD)|(1<<ACIS1); //Comparator Interrupt on Falling Output Edge.


Т.е. переключить туда-сюда "по фронту/по спаду". На идею натолкнула фраза
Цитата
When changing the ACIS1/ACIS0 bits, the Analog Comparator Interrupt must be disabled by clearing its Interrupt Enable bit in the ACSR Register. Otherwise an interrupt can occur when the bits are changed.

в даташите.

К сожалению, сейчас негде попробовать этот чит. Посему пара вопросов:

1. Может кто делал такое и уже знает результат?
2. Может у кого есть под рукой макеточка, проверить бы?
3. А может кто гламурнее способ знает?


--------------------
"Практика выше (теоретического) познания, ибо она имеет не только достоинство всеобщности, но и непосредственной действительности." - В.И. Ленин
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
prottoss
сообщение May 20 2008, 12:01
Сообщение #2


Гуру
******

Группа: Свой
Сообщений: 2 720
Регистрация: 24-03-05
Пользователь №: 3 659



Цитата(Rst7 @ May 20 2008, 19:52) *
,Вот мысль появилась использовать прерывание от компаратора
Как раз от компаратора в scmRTOS и используют, но вроде как внешне что то к выводу компаратора припаивать надо... Лучше обратиться к первоисточнику. К сожалению адреса не знаю - но по моему в форуме про RTOS тема травой не заростает.


--------------------
Go to the top of the page
 
+Quote Post
ReAl
сообщение May 20 2008, 20:31
Сообщение #3


Нечётный пользователь.
******

Группа: Свой
Сообщений: 2 033
Регистрация: 26-05-05
Из: Бровари, Україна
Пользователь №: 5 417



Цитата(prottoss @ May 20 2008, 15:01) *
Как раз от компаратора в scmRTOS и используют, но вроде как внешне что то к выводу компаратора припаивать надо... Лучше обратиться к первоисточнику. К сожалению адреса не знаю - но по моему в форуме про RTOS тема травой не заростает.
Ничего припаивать не надо.
Но одна нога занята.
Один из входов компаратора ставится на внутренний ИОН, второй остаётся на ножке, ножка ставится на выход. Этого достаточно.

В порт avr-gcc в примеры внесён ещё и другой вариант - используется прерывание SPM_ready (считается, что не используется при работе приложения, а не загрузчика).
При необходимости вызвать прерывание поднимается бит SPMIE, в обработчике он сбрасывается.
Ничего плохого в таком варианте не вижу.


--------------------
Ну, я пошёл… Если что – звоните…
Go to the top of the page
 
+Quote Post

Сообщений в этой теме
- Rst7   Хочется программно инициировать прерывание   May 20 2008, 11:52
- - prottoss   Цитата(Rst7 @ May 20 2008, 19:52) Тут зад...   May 20 2008, 11:58
- - VladimirYU   Цитата(Rst7 @ May 20 2008, 15:52) Тут зад...   May 20 2008, 11:58
- - Rst7   ЦитатаА почему хочется именно пограммное прерывани...   May 20 2008, 12:12
- - sKWO   Цитата(Rst7 @ May 20 2008, 14:52) Тут зад...   May 20 2008, 12:16
- - galjoen   Цитата(Rst7 @ May 20 2008, 15:52) Тут зад...   May 20 2008, 12:25
- - Rst7   Цитатаа оно возникает когда пустой регистр данных ...   May 20 2008, 12:34
|- - Палыч   Не понятно, чем Вам не угодило прерывание от EEPRO...   May 20 2008, 13:01
|- - galjoen   Цитата(Rst7 @ May 20 2008, 16:34) Мне не ...   May 20 2008, 13:39
||- - Палыч   Цитата(galjoen @ May 20 2008, 16:39) Чтоб...   May 20 2008, 14:14
|- - prottoss   Цитата(Rst7 @ May 20 2008, 20:34) Мне не ...   May 20 2008, 13:53
- - Палыч   Цитата(Rst7 @ May 20 2008, 14:52) Тут зад...   May 20 2008, 12:44
- - Rst7   ЦитатаКак раз от компаратора в scmRTOS и использую...   May 20 2008, 12:52
|- - singlskv   Цитата(Rst7 @ May 20 2008, 16:52) Только ...   May 20 2008, 13:01
|- - &-rey   Цитата(Rst7 @ May 20 2008, 15:52) Ага, пр...   May 20 2008, 13:01
|- - defunct   Цитата(Rst7 @ May 20 2008, 15:52) Все не ...   May 20 2008, 15:03
- - Rst7   ЦитатаЕсли, память не используете, Использую. Кро...   May 20 2008, 13:03
|- - Палыч   Цитата(Rst7 @ May 20 2008, 16:03) Мне нуж...   May 20 2008, 13:09
- - Rst7   ЦитатаРазрешили прерывание - получили прерывание. ...   May 20 2008, 13:15
|- - &-rey   так и не понял, нога которая ICP используется ?   May 20 2008, 13:16
- - Rst7   ЦитатаICP используется ? Занята. Да и дрыгать нож...   May 20 2008, 13:24
- - ILYAUL   Цитата(Rst7 @ May 20 2008, 15:52) Тут зад...   May 20 2008, 13:31
- - Rst7   ЦитатаТак вроде с готовностью EEPROM всё хорошо по...   May 20 2008, 13:49
|- - galjoen   Цитата(Rst7 @ May 20 2008, 17:49) К сожал...   May 20 2008, 14:16
|- - defunct   Цитата(Rst7 @ May 20 2008, 16:49) Сбрасыв...   May 20 2008, 15:11
- - =GM=   Цитата(Rst7 @ May 20 2008, 10:52) Тут зад...   May 20 2008, 14:59
- - SasaVitebsk   Я использую от таймера. У меня мега640 - там этих ...   May 20 2008, 15:05
- - SasaVitebsk   2 GM - ты немного задачу не осознал. Например ...   May 20 2008, 15:11
|- - defunct   Цитата(SasaVitebsk @ May 20 2008, 18:11) ...   May 20 2008, 15:16
||- - galjoen   Цитата(defunct @ May 20 2008, 19:16) Не, ...   May 20 2008, 15:51
||- - Палыч   Цитата(galjoen @ May 20 2008, 18:51) Т.е....   May 20 2008, 16:08
|||- - galjoen   Цитата(Палыч @ May 20 2008, 20:08) Приори...   May 20 2008, 16:52
||- - defunct   Цитата(galjoen @ May 20 2008, 18:51) Не. ...   May 20 2008, 20:56
||- - singlskv   Цитата(defunct @ May 21 2008, 00:56) Насч...   May 20 2008, 21:16
||- - defunct   Цитата(singlskv @ May 21 2008, 00:11) Ну ...   May 20 2008, 21:19
||- - singlskv   Цитата(defunct @ May 21 2008, 01:19) Неск...   May 20 2008, 21:35
|||- - defunct   Цитата(singlskv @ May 21 2008, 00:35) Те ...   May 20 2008, 23:30
|||- - Dog Pawlowa   Цитата(defunct @ May 21 2008, 02:30) Ну т...   May 21 2008, 05:44
||- - galjoen   Цитата(defunct @ May 21 2008, 01:19) Неск...   May 20 2008, 21:59
|- - Палыч   Цитата(SasaVitebsk @ May 20 2008, 18:11) ...   May 20 2008, 15:19
|- - SasaVitebsk   Цитата(Палыч @ May 20 2008, 18:19) Почему...   May 20 2008, 15:35
|- - Палыч   Цитата(SasaVitebsk @ May 20 2008, 18:35) ...   May 20 2008, 15:41
- - _Pasha   Привет, телепаты 1. Какая у Вас мега в проекте? ...   May 20 2008, 16:04
- - SasaVitebsk   Вот уж не знаю как вам объяснить. Ещё раз...   May 20 2008, 16:12
|- - Палыч   Цитата(SasaVitebsk @ May 20 2008, 19:12) ...   May 20 2008, 16:34
- - Rst7   Давайте я попробую все-таки подробностей добавить....   May 20 2008, 16:29
|- - singlskv   Не знаю точно поможет ли это Вам в конкретной зада...   May 20 2008, 18:19
- - singlskv   Если свободен пин nSS(SPI SlaveSelect) я бы еще по...   May 20 2008, 20:50
- - ReAl   Кстати, я очень обижен на атмел в том, что битики ...   May 20 2008, 21:03
- - Дон Амброзио   У меня для "быстрых" потоков, которые до...   May 21 2008, 05:13
- - Rst7   Ну вообщем, проверил на железе - не приводит к уст...   May 21 2008, 05:48
|- - galjoen   Цитата(Rst7 @ May 21 2008, 09:48) Код#pra...   May 21 2008, 06:58
|- - sKWO   Цитата(Rst7 @ May 21 2008, 08:48) В принц...   May 21 2008, 08:21
- - SasaVitebsk   В принципе предложений накидали. Обсуждать подх...   May 21 2008, 07:15
|- - Dog Pawlowa   Цитата(SasaVitebsk @ May 21 2008, 10:15) ...   May 21 2008, 07:23
- - Rst7   ЦитатаЗато прерывания от таймера вообще возникать ...   May 21 2008, 07:37
|- - galjoen   М.б. конечно я уже надоел своим занудством, но... ...   May 21 2008, 09:30
- - Rst7   ЦитатаМне вот это всё не нравится (некрасивым каже...   May 21 2008, 09:38


Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 23rd July 2025 - 10:19
Рейтинг@Mail.ru


Страница сгенерированна за 0.01462 секунд с 7
ELECTRONIX ©2004-2016