Страница 2 из 2
Добавлено: Ср окт 03, 2007 22:16:15
sheva_s
Неужели нету ГУРУ который мог бы дать совет ?
Добавлено: Ср окт 03, 2007 23:16:40
Aheir
А источник тактирования МК какой?
Добавлено: Чт окт 04, 2007 00:36:16
sheva_s
По умолчанию от внутренего генератора.
Добавлено: Чт окт 04, 2007 08:40:13
Aheir
С цепями сброса, питания все в порядке?
Добавлено: Чт окт 04, 2007 08:59:42
tych
sheva_s писал(а):По умолчанию от внутренего генератора.
Значит расставь "зарубки" в проге и определи до куда она доходит и виснет. пример в задаче 4 под кнопокй "www".
Добавлено: Чт окт 04, 2007 09:24:50
Mr.Moss
Ща спою.
1.Не верное размещение метки RESET, все метки прерываний (даже если они не работают не должны находится в RESETе, иначе по сработке прерывания программа будет вываливаться в RESET)
2.В обработчике RESET НЕЛЬЗЯ писать выход из прерывания, кудаже он будет выходить?
Прерывание RESET работает только с момента включения и если поставить оператор reti то он будет возвращаться сам в себя (RESET имеется в виду)
Пользуюся AVR Studio, в ней сразу видна эта ошибка.

Добавлено: Чт окт 04, 2007 09:53:22
Aheir
Ну хоть один достаточно грамотный в АСМе кошак нашелся..

Добавлено: Чт окт 04, 2007 11:14:30
sheva_s
Aheir писал(а):С цепями сброса, питания все в порядке?
Да все впорядке макетка используеться с другими программами все работает на отлично , а теперь нужно написать программу вставку для изменения скорости световых эффектов и неполучаеться.
В одном месте посоветовали вписать такую строчку
ldi temp,0b10000000
out SREG,temp
посмотрел по даташиту дествительно нужно, только программа все равно на девайсе не работает.
Добавлено: Чт окт 04, 2007 11:28:02
sheva_s
Mr.Moss писал(а):Ща спою.
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]
Добавлено: Чт окт 04, 2007 12:36:41
tych
sheva_s писал(а):Если поставить метку прерывание по RESET в начеле настройки программы то она начинает запускаться на девайсе но работает не очень коректно , как ей вздумаеться.
Слава богу CVAVR сам расставляет правильно.
Добавлено: Чт окт 04, 2007 15:25:09
Mr.Moss
RESET надо тоже задокументировать, а ниже написать метку RESET, если вы хотитете так чтоб как в обучалке!
Но оператор RETI там совершенно не нужен!!! Там только нужно глобально разрешить прерывания.
Да и в обработчике прерывания INT_0 два оператора выхода из прерывания, я не думаю что будет корректно работать.
Ну а если метку RESET переставляете и работает, хот и как ей вздумается, то исчите ошибку в теле программы.
где взать или скачать include tn2313def.inc, ,без него немог
Добавлено: Пн окт 15, 2007 23:28:30
jump11
где взать или скачать include tn2313def.inc, ,без него немогу приступить к прошивке,очень нужен !!!!!!!!!!!!!!!!!!!!!!!!
Добавлено: Вт окт 16, 2007 03:58:46
tych
для прошивки он не нужен.
Добавлено: Чт окт 18, 2007 19:32:56
Mr.Moss
Качай пакет AVR Studio там есть
Добавлено: Пт мар 14, 2008 18:12:54
Барсик
Для
knyaz*. По теме
http://www.radiokot.ru/forum/viewtopic.php?t=8473
Попробуйте объявить Вашу переменную int temp; как volatile int temp;
Возможно, компилятор при оптимизации программы, кэширует эту переменную в регистрах.