Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Как запустить WDT в тиньке2314 в interrupt mode?
Форум разработчиков электроники ELECTRONIX.ru > Микроконтроллеры (MCs) > AVR
Alex_Pol
Помогите разобраться, пжлст.
Решил использовать WDT как источник прерывания. Написал вот так:
Код
.INCLUDE    "tn2313def.inc"
.CSEG

.ORG    0
    rjmp    Reset
.ORG    WDTaddr
    rjmp    Led
Reset:    
    ldi    r30,low(RAMEND)
       out    SPL,r30
    ldi    r30,$03    ; настройка направления работы линий порта B
    out    DDRB,r30; 1 и 2-й биты выходы, остальные - входа.
;wdr
    ldi    r30,$56        
;out    WDTCR,r30
    sei        ; разрешаем прерывания
Loop:
    rjmp    Loop        
Led:
    ldi    r30,$02
    eor    r29,r30
    out    PORTB,r29
    reti
.EXIT

Должно было мигать светодиодом каждую секунду.
Не получилось. Что я сделал не так?
_artem_
poprobuy vmesto
" ldi r30,$56
;out WDTCR,r30"

zapisat :

cli
wdr
ldi r30,$18 ;WDTCR = (1 <<WDCE) | (1 << WDE)
out wdtcr,r30
ldi r30,$46 ;WDTCR = (1<<WDIE)|(1<<WDP2)|(1<<WDP1);
Alex_Pol
А фуз WDTON надо сбрасывать в 0? По дефаулту он стоит в единице. В режиме сброса собачка исправно ресетит раз в секунду.
_artem_
имхо wdton = 0 то получим прерывание RESET в любом случае, а нам вроде бы родное собачье нужно . страница 45 дата шит.
Alex_Pol
Дык вот, в DS, правда на 41-й стр. в табл. 19 сказано: если wdton - 1 то System reset mode независимо от значений WDE и WDIE. Или я чего не понял?
_artem_
Эт потому что я говорю в соответствии с тем что 1 - unprogrammed а 0 - programmed (см нот 1 сразу после таблицы), a вы наоборот в соответствии с булевой логикой события. Может в суд подать на атмел ?
Alex_Pol
Мануал Атмел написал отменно хреновый. Ща перепишу WDTON, о результатах отчитаюсь. smile.gif
Alex_Pol
Значит так. Если WDTON сбросить в 0 (запрограммировать), собака принудительно встаёт в ресетмоду.
Так что в ДШ у Атмела лажа. А со своей проблемой разобрался. Вложенные прерывания, блин. Читал мануал, не понял - здесь понятие о приоретете есть?
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.