прерывание INT_0 (attiny2313)
Неужели нету ГУРУ который мог бы дать совет ?
- Реклама
А источник тактирования МК какой?
Оптимизм х (Опыт + Знания) = const
По умолчанию от внутренего генератора.
С цепями сброса, питания все в порядке?
Оптимизм х (Опыт + Знания) = const
Значит расставь "зарубки" в проге и определи до куда она доходит и виснет. пример в задаче 4 под кнопокй "www".sheva_s писал(а):По умолчанию от внутренего генератора.
Думайте сами, решайте сами ... а вот он-лайн перевод на корявый русский http://translate.ru
- Реклама
- Сообщения: 68
- Зарегистрирован: Вт июл 24, 2007 23:34:23
Ща спою.
1.Не верное размещение метки RESET, все метки прерываний (даже если они не работают не должны находится в RESETе, иначе по сработке прерывания программа будет вываливаться в RESET)
2.В обработчике RESET НЕЛЬЗЯ писать выход из прерывания, кудаже он будет выходить?
Прерывание RESET работает только с момента включения и если поставить оператор reti то он будет возвращаться сам в себя (RESET имеется в виду)
Пользуюся AVR Studio, в ней сразу видна эта ошибка.
1.Не верное размещение метки RESET, все метки прерываний (даже если они не работают не должны находится в RESETе, иначе по сработке прерывания программа будет вываливаться в RESET)
2.В обработчике RESET НЕЛЬЗЯ писать выход из прерывания, кудаже он будет выходить?
Прерывание RESET работает только с момента включения и если поставить оператор reti то он будет возвращаться сам в себя (RESET имеется в виду)
Пользуюся AVR Studio, в ней сразу видна эта ошибка.
Ну хоть один достаточно грамотный в АСМе кошак нашелся.. 
Оптимизм х (Опыт + Знания) = const
Да все впорядке макетка используеться с другими программами все работает на отлично , а теперь нужно написать программу вставку для изменения скорости световых эффектов и неполучаеться.Aheir писал(а):С цепями сброса, питания все в порядке?
В одном месте посоветовали вписать такую строчку
ldi temp,0b10000000
out SREG,temp
посмотрел по даташиту дествительно нужно, только программа все равно на девайсе не работает.
Тут есть не большое НО:метки прерывания не находятся в RESETe - это идет настройка векторов прерывания см. Обучалка радиокот http://www.radiokot.ru/start/mcu_fpga/avr/10/ , а прерывание по INT_O задокументированое по идеи должно срабатывать только оно.Mr.Moss писал(а):Ща спою.![]()
1.Не верное размещение метки RESET, все метки прерываний (даже если они не работают не должны находится в RESETе, иначе по сработке прерывания программа будет вываливаться в RESET)
2.В обработчике RESET НЕЛЬЗЯ писать выход из прерывания, кудаже он будет выходить?
Прерывание RESET работает только с момента включения и если поставить оператор reti то он будет возвращаться сам в себя (RESET имеется в виду)
Пользуюся AVR Studio, в ней сразу видна эта ошибка.
Если поставить метку прерывание по RESET в начеле настройки программы то она начинает запускаться на девайсе но работает не очень коректно , как ей вздумаеться.
Я тоже пользуюсь AVR Studio если там поставить старт программы с прерывания INT_O и просимулировать то все отрабатываеться нормально.[/url]
Слава богу CVAVR сам расставляет правильно.sheva_s писал(а):Если поставить метку прерывание по RESET в начеле настройки программы то она начинает запускаться на девайсе но работает не очень коректно , как ей вздумаеться.
Думайте сами, решайте сами ... а вот он-лайн перевод на корявый русский http://translate.ru
- Сообщения: 68
- Зарегистрирован: Вт июл 24, 2007 23:34:23
RESET надо тоже задокументировать, а ниже написать метку RESET, если вы хотитете так чтоб как в обучалке!
Но оператор RETI там совершенно не нужен!!! Там только нужно глобально разрешить прерывания.
Да и в обработчике прерывания INT_0 два оператора выхода из прерывания, я не думаю что будет корректно работать.
Ну а если метку RESET переставляете и работает, хот и как ей вздумается, то исчите ошибку в теле программы.
Но оператор RETI там совершенно не нужен!!! Там только нужно глобально разрешить прерывания.
Да и в обработчике прерывания INT_0 два оператора выхода из прерывания, я не думаю что будет корректно работать.
Ну а если метку RESET переставляете и работает, хот и как ей вздумается, то исчите ошибку в теле программы.
где взать или скачать include tn2313def.inc, ,без него немогу приступить к прошивке,очень нужен !!!!!!!!!!!!!!!!!!!!!!!!
для прошивки он не нужен.
Думайте сами, решайте сами ... а вот он-лайн перевод на корявый русский http://translate.ru
- Сообщения: 68
- Зарегистрирован: Вт июл 24, 2007 23:34:23
- Сообщения: 3459
- Зарегистрирован: Ср сен 27, 2006 16:18:57
Для knyaz*. По теме http://www.radiokot.ru/forum/viewtopic.php?t=8473
Попробуйте объявить Вашу переменную int temp; как volatile int temp;
Возможно, компилятор при оптимизации программы, кэширует эту переменную в регистрах.
Попробуйте объявить Вашу переменную int temp; как volatile int temp;
Возможно, компилятор при оптимизации программы, кэширует эту переменную в регистрах.


