прерывание INT_0 (attiny2313)

Вопросы настройки, программирования, прошивки микроконтроллеров и микросхем программируемой логики
Аватара пользователя
sheva_s
Грызет канифоль
Сообщения: 256
Зарегистрирован: Пт апр 27, 2007 14:32:48
Откуда: Украина Кривой Рог
Контактная информация:

Сообщение sheva_s »

Неужели нету ГУРУ который мог бы дать совет ?
Реклама
Аватара пользователя
Aheir
Модератор
Сообщения: 4517
Зарегистрирован: Пн апр 03, 2006 11:43:25
Откуда: Санкт - Петербург
Контактная информация:

Сообщение Aheir »

А источник тактирования МК какой?
Оптимизм х (Опыт + Знания) = const
Реклама
Аватара пользователя
sheva_s
Грызет канифоль
Сообщения: 256
Зарегистрирован: Пт апр 27, 2007 14:32:48
Откуда: Украина Кривой Рог
Контактная информация:

Сообщение sheva_s »

По умолчанию от внутренего генератора.
Аватара пользователя
Aheir
Модератор
Сообщения: 4517
Зарегистрирован: Пн апр 03, 2006 11:43:25
Откуда: Санкт - Петербург
Контактная информация:

Сообщение Aheir »

С цепями сброса, питания все в порядке?
Оптимизм х (Опыт + Знания) = const
Реклама
Эиком - электронные компоненты и радиодетали
Аватара пользователя
tych
Э...
Сообщения: 2792
Зарегистрирован: Ср апр 04, 2007 08:39:14
Откуда: Москва
Контактная информация:

Сообщение tych »

sheva_s писал(а):По умолчанию от внутренего генератора.
Значит расставь "зарубки" в проге и определи до куда она доходит и виснет. пример в задаче 4 под кнопокй "www".
Думайте сами, решайте сами ... а вот он-лайн перевод на корявый русский http://translate.ru
Реклама
Аватара пользователя
Mr.Moss
Открыл глаза
Сообщения: 68
Зарегистрирован: Вт июл 24, 2007 23:34:23

Сообщение Mr.Moss »

Ща спою. :o
1.Не верное размещение метки RESET, все метки прерываний (даже если они не работают не должны находится в RESETе, иначе по сработке прерывания программа будет вываливаться в RESET)
2.В обработчике RESET НЕЛЬЗЯ писать выход из прерывания, кудаже он будет выходить?
Прерывание RESET работает только с момента включения и если поставить оператор reti то он будет возвращаться сам в себя (RESET имеется в виду)
Пользуюся AVR Studio, в ней сразу видна эта ошибка. :)
Реклама
Аватара пользователя
Aheir
Модератор
Сообщения: 4517
Зарегистрирован: Пн апр 03, 2006 11:43:25
Откуда: Санкт - Петербург
Контактная информация:

Сообщение Aheir »

Ну хоть один достаточно грамотный в АСМе кошак нашелся.. :)
Оптимизм х (Опыт + Знания) = const
Аватара пользователя
sheva_s
Грызет канифоль
Сообщения: 256
Зарегистрирован: Пт апр 27, 2007 14:32:48
Откуда: Украина Кривой Рог
Контактная информация:

Сообщение sheva_s »

Aheir писал(а):С цепями сброса, питания все в порядке?
Да все впорядке макетка используеться с другими программами все работает на отлично , а теперь нужно написать программу вставку для изменения скорости световых эффектов и неполучаеться.

В одном месте посоветовали вписать такую строчку

ldi temp,0b10000000
out SREG,temp


посмотрел по даташиту дествительно нужно, только программа все равно на девайсе не работает.
Аватара пользователя
sheva_s
Грызет канифоль
Сообщения: 256
Зарегистрирован: Пт апр 27, 2007 14:32:48
Откуда: Украина Кривой Рог
Контактная информация:

Сообщение sheva_s »

Mr.Moss писал(а):Ща спою. :o
1.Не верное размещение метки RESET, все метки прерываний (даже если они не работают не должны находится в RESETе, иначе по сработке прерывания программа будет вываливаться в RESET)
2.В обработчике RESET НЕЛЬЗЯ писать выход из прерывания, кудаже он будет выходить?
Прерывание RESET работает только с момента включения и если поставить оператор reti то он будет возвращаться сам в себя (RESET имеется в виду)
Пользуюся AVR Studio, в ней сразу видна эта ошибка. :)
Тут есть не большое НО:метки прерывания не находятся в RESETe - это идет настройка векторов прерывания см. Обучалка радиокот http://www.radiokot.ru/start/mcu_fpga/avr/10/ , а прерывание по INT_O задокументированое по идеи должно срабатывать только оно.
Если поставить метку прерывание по RESET в начеле настройки программы то она начинает запускаться на девайсе но работает не очень коректно , как ей вздумаеться.
Я тоже пользуюсь AVR Studio если там поставить старт программы с прерывания INT_O и просимулировать то все отрабатываеться нормально.[/url]
Аватара пользователя
tych
Э...
Сообщения: 2792
Зарегистрирован: Ср апр 04, 2007 08:39:14
Откуда: Москва
Контактная информация:

Сообщение tych »

sheva_s писал(а):Если поставить метку прерывание по RESET в начеле настройки программы то она начинает запускаться на девайсе но работает не очень коректно , как ей вздумаеться.
Слава богу CVAVR сам расставляет правильно.
Думайте сами, решайте сами ... а вот он-лайн перевод на корявый русский http://translate.ru
Аватара пользователя
Mr.Moss
Открыл глаза
Сообщения: 68
Зарегистрирован: Вт июл 24, 2007 23:34:23

Сообщение Mr.Moss »

RESET надо тоже задокументировать, а ниже написать метку RESET, если вы хотитете так чтоб как в обучалке!
Но оператор RETI там совершенно не нужен!!! Там только нужно глобально разрешить прерывания.
Да и в обработчике прерывания INT_0 два оператора выхода из прерывания, я не думаю что будет корректно работать.
Ну а если метку RESET переставляете и работает, хот и как ей вздумается, то исчите ошибку в теле программы.
jump11
Родился
Сообщения: 3
Зарегистрирован: Пн окт 15, 2007 22:36:07
Откуда: _________

где взать или скачать include tn2313def.inc, ,без него немог

Сообщение jump11 »

где взать или скачать include tn2313def.inc, ,без него немогу приступить к прошивке,очень нужен !!!!!!!!!!!!!!!!!!!!!!!!
Аватара пользователя
tych
Э...
Сообщения: 2792
Зарегистрирован: Ср апр 04, 2007 08:39:14
Откуда: Москва
Контактная информация:

Сообщение tych »

для прошивки он не нужен.
Думайте сами, решайте сами ... а вот он-лайн перевод на корявый русский http://translate.ru
Аватара пользователя
Mr.Moss
Открыл глаза
Сообщения: 68
Зарегистрирован: Вт июл 24, 2007 23:34:23

Сообщение Mr.Moss »

Качай пакет AVR Studio там есть
Аватара пользователя
Барсик
Друг Кота
Сообщения: 3459
Зарегистрирован: Ср сен 27, 2006 16:18:57

Сообщение Барсик »

Для knyaz*. По теме http://www.radiokot.ru/forum/viewtopic.php?t=8473
Попробуйте объявить Вашу переменную int temp; как volatile int temp;
Возможно, компилятор при оптимизации программы, кэширует эту переменную в регистрах.
Закрыто

Вернуться в «Микроконтроллеры и ПЛИС»