roboforum.ru

Технический форум по робототехнике.

МикроКонтроллер AVR начинающим - общие вопросы

Программирование микроконтроллеров AVR, PIC, ARM.
Разработка и изготовление печатных плат для модулей.

Re: МикроКонтроллер AVR начинающим - общие вопросы

Сообщение contr » 25 дек 2009, 14:23

возможно флаг прерывания сбросить забыли
contr
 
Сообщения: 987
Зарегистрирован: 17 апр 2009, 15:09
Откуда: Rostov-Don
Предупреждения: -1

Re: МикроКонтроллер AVR начинающим - общие вопросы

Сообщение blindman » 25 дек 2009, 14:26

Нужно прерывание по спаду, а не по низкому уровню. Если "все" перечитать еще раз, это станет понятно
Проект [[Open Robotics]] - универсальные модули для построения роботов
Модули Open Robotics можно приобрести в магазине shop.roboforum.ru

Day OFF? You must be pulling my leg! Stop making humor before someone sees you, fool!

Аватара пользователя
blindman
 
Сообщения: 4130
Зарегистрирован: 29 апр 2008, 21:15
Откуда: Хабаровск
прог. языки: C,C++,Assembler,PHP,Javascript,Ruby, SPIN,Java(?)
ФИО: Андрей Юрьевич

Re: МикроКонтроллер AVR начинающим - общие вопросы

Сообщение avr123.nm.ru » 25 дек 2009, 14:48

к561ЛА7 писал(а): Все перечитал ничего не пойму.


Процитируйте ПОЖАЛУЙСТА тут то что вы прочитали про прерывание по низкому уровню.
Аватара пользователя
avr123.nm.ru
отсылающий читать курс
 
Сообщения: 14195
Зарегистрирован: 06 ноя 2005, 04:18
Откуда: Москва
Предупреждения: -8

Re: МикроКонтроллер AVR начинающим - общие вопросы

Сообщение к561ЛА7 » 25 дек 2009, 15:30

по фронту иимпульса ногой дкргает один раз, но в тело прогаммы не идет.
А как сбросить влаг прерывания?

Добавлено спустя 16 минут 1 секунду:
Прочитал вот что : При возникновении прерывания выполняется последняя инструкция, запоминаеется место останова и программа идет в обработчик прерывания. По окончании кода, написанного в обработчике пре6рывания, автоматически сбрасывается флаг прерывания (для этого вроде должна кодвизардом автоматически добавляться какаято строка, но у меня ее нет почему то) и программ идет обратно в основной цикл.

Прерывания управляется регистрами. Записью 1 можно включить возмодность возникновения прерывания, запись 0 - выключить. (младшие биты регитстра управления прерываниями) Также можно задать условие возникновения прерывания - по уроню или по спаду (старшие биты этого регитсра)

пишу по памяти, как запомнил
Ваш IP-адрес 85.140.5.459 был внесён в черный список и заблокирован. Для получения дополнительной информации перейдите по ссылке http://www.spamhaus.org/query/bl?ip=85.140.5.459.
Аватара пользователя
к561ЛА7
 
Сообщения: 404
Зарегистрирован: 08 дек 2009, 19:21
Откуда: Й-Ола

Re: МикроКонтроллер AVR начинающим - общие вопросы

Сообщение contr » 25 дек 2009, 15:35

А как сбросить влаг прерывания?

Мне для этого dsh на Ваш контроллер изучать придется :(
Там где-то есть регистр в котором при возникновении события один и битов устанавливается в "1". Вот ее и нужно сбросить, когда прерывание обработали.
contr
 
Сообщения: 987
Зарегистрирован: 17 апр 2009, 15:09
Откуда: Rostov-Don
Предупреждения: -1

Re: МикроКонтроллер AVR начинающим - общие вопросы

Сообщение blindman » 25 дек 2009, 15:42

Флаг сбрасывается аппаратно при входе в обработчик прерывания. contr, изучи все же даташит прежде чем советы писать.
Проект [[Open Robotics]] - универсальные модули для построения роботов
Модули Open Robotics можно приобрести в магазине shop.roboforum.ru

Day OFF? You must be pulling my leg! Stop making humor before someone sees you, fool!

Аватара пользователя
blindman
 
Сообщения: 4130
Зарегистрирован: 29 апр 2008, 21:15
Откуда: Хабаровск
прог. языки: C,C++,Assembler,PHP,Javascript,Ruby, SPIN,Java(?)
ФИО: Андрей Юрьевич

Re: МикроКонтроллер AVR начинающим - общие вопросы

Сообщение avr123.nm.ru » 25 дек 2009, 15:45

ВНИМАТЕЛЬНО надо читать и неспеша, думая о том что прочитал. Просто читать бесполезно.

к561ЛА7 писал(а): А как сбросить влаг прерывания?
в вашей цитате написано кодгда он автоматически сбрасывется ( но цитируете вы не верно ! ) Вы пишите: "по-памяти" - значит запомнили не верно момент очистки флага.

А там откуда вы цитируете - http://avr123.nm.ru/03.htm
КРУПНО ВЫДЕЛЕНО как флаги прерываний можно очищать програмно.
Вложения
int.png
Аватара пользователя
avr123.nm.ru
отсылающий читать курс
 
Сообщения: 14195
Зарегистрирован: 06 ноя 2005, 04:18
Откуда: Москва
Предупреждения: -8

Re: МикроКонтроллер AVR начинающим - общие вопросы

Сообщение к561ЛА7 » 25 дек 2009, 15:53

пишу в конце обработчика
SREG.7=1;

и все равно программа в основной цикл не идет
Контроллер атмега 8
Ваш IP-адрес 85.140.5.459 был внесён в черный список и заблокирован. Для получения дополнительной информации перейдите по ссылке http://www.spamhaus.org/query/bl?ip=85.140.5.459.
Аватара пользователя
к561ЛА7
 
Сообщения: 404
Зарегистрирован: 08 дек 2009, 19:21
Откуда: Й-Ола

Re: МикроКонтроллер AVR начинающим - общие вопросы

Сообщение blindman » 25 дек 2009, 15:54

Всю программу покажи
Проект [[Open Robotics]] - универсальные модули для построения роботов
Модули Open Robotics можно приобрести в магазине shop.roboforum.ru

Day OFF? You must be pulling my leg! Stop making humor before someone sees you, fool!

Аватара пользователя
blindman
 
Сообщения: 4130
Зарегистрирован: 29 апр 2008, 21:15
Откуда: Хабаровск
прог. языки: C,C++,Assembler,PHP,Javascript,Ruby, SPIN,Java(?)
ФИО: Андрей Юрьевич

Re: МикроКонтроллер AVR начинающим - общие вопросы

Сообщение contr » 25 дек 2009, 15:57

Флаг сбрасывается аппаратно при входе в обработчик прерывания.

Возможно, в тех МК которые я пользую такого не происходит. Да и в инструкции от avr123 про программный сброс сказано.
пишу в конце обработчика SREG.7=1;

Это бит общего разрешения прерываний, а сбросить нужно флаг конкретного прерывания.
Последний раз редактировалось contr 25 дек 2009, 16:29, всего редактировалось 1 раз.
contr
 
Сообщения: 987
Зарегистрирован: 17 апр 2009, 15:09
Откуда: Rostov-Don
Предупреждения: -1

Re: МикроКонтроллер AVR начинающим - общие вопросы

Сообщение blindman » 25 дек 2009, 16:04

Ага, а в тех что я использую прерывания ваще как класс отсутствуют. И че это я про них тут не пишу?
Проект [[Open Robotics]] - универсальные модули для построения роботов
Модули Open Robotics можно приобрести в магазине shop.roboforum.ru

Day OFF? You must be pulling my leg! Stop making humor before someone sees you, fool!

Аватара пользователя
blindman
 
Сообщения: 4130
Зарегистрирован: 29 апр 2008, 21:15
Откуда: Хабаровск
прог. языки: C,C++,Assembler,PHP,Javascript,Ruby, SPIN,Java(?)
ФИО: Андрей Юрьевич

Re: МикроКонтроллер AVR начинающим - общие вопросы

Сообщение avr123.nm.ru » 25 дек 2009, 19:20

к561ЛА7 писал(а):пишу в конце обработчика
SREG.7=1;


Вы объясните ЗАЧЕМ вы это пишите ? Т.е. что вы надеетесь получить от этой записи.

Я очень советую после каждой строчки писать КОММЕНТАРИЙ на русском - что она делает.

ПРОШУ ВАС !!! Начните уже читать ВНИМАТЕЛЬНО и НЕ СПЕША !!!

=== пельмешки без спешки :good:

=
Вложения
AVR прерывания курс avr123.nm.png
Аватара пользователя
avr123.nm.ru
отсылающий читать курс
 
Сообщения: 14195
Зарегистрирован: 06 ноя 2005, 04:18
Откуда: Москва
Предупреждения: -8

Re: МикроКонтроллер AVR начинающим - общие вопросы

Сообщение к561ЛА7 » 25 дек 2009, 23:10

Спасибо большое за помощь, вродебы заработало. В чем причина так и нек понял. Убрал все инструкции goto_mesto_ и переписал все заново.
Убрал все задержки, на момент окончания которых почемуто контоллер выдавал короткий импульс на выходы.
В железе контроллер почему-то не хочет отрабатывать короткие импульсы на входе прерывания, и воспринимает за импульсы наводки если оставить провод в воздухе

Спасибо contr, blindman,avr123.nm.ru, osc,yak-40, statistic

Может быть я всетаки соберу это устройство и куплю свим деткам конфеток
Ваш IP-адрес 85.140.5.459 был внесён в черный список и заблокирован. Для получения дополнительной информации перейдите по ссылке http://www.spamhaus.org/query/bl?ip=85.140.5.459.
Аватара пользователя
к561ЛА7
 
Сообщения: 404
Зарегистрирован: 08 дек 2009, 19:21
Откуда: Й-Ола

Re: МикроКонтроллер AVR начинающим - общие вопросы

Сообщение avr123.nm.ru » 25 дек 2009, 23:20

> на момент окончания которых почемуто контоллер выдавал короткий импульс на выходы.

В PROTEUS на эти выходы ставьте точку останова - рассказано на страничке http://proteus123.narod.ru - прога встанет в паузу в этом месте, далее смотрите в регистрах и в тексте и т.п. причину выдачи импульса.
Аватара пользователя
avr123.nm.ru
отсылающий читать курс
 
Сообщения: 14195
Зарегистрирован: 06 ноя 2005, 04:18
Откуда: Москва
Предупреждения: -8

Re: МикроКонтроллер AVR начинающим - общие вопросы

Сообщение osc » 31 дек 2009, 13:15

А вот у меня вопрос, тип Char может хранить только 1 символ, а если мне нужно передать через uart трехзначное число, то как это сделать?
Аватара пользователя
osc
 
Сообщения: 333
Зарегистрирован: 07 сен 2009, 20:06
прог. языки: c, c#
ФИО: Евгений

Пред.След.

Вернуться в Микроконтроллеры

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 4