2=DeaD=: яб с радостью, но С для меня сейчас как темный лес в сырую погоду , а асм он как-то с детства прижился, но с заморочками в нем конечно согласен.
Добавлено спустя 1 минуту 34 секунды: 2galex1981: отладчик есть, хоть и тормозной, попробую с ним поковыряться.
Добавлено спустя 7 минут: в отладчике не перешло на подпрограмму прерывания
нашел один баг, написал (1<...) а надо (1<<...) но теперь прога зацикливается на подпрограмме прерываний.
2avr123.nm.ru вашу страничку я первым делом посетил!
2Master в том листинге еще нет, потом вставил.
Добавлено спустя 9 минут 35 секунд: этот баг тоже исправил, забыл инициализировать адрес стека на конец памяти.
Добавлено спустя 4 минуты 19 секунд: но теперь еще вопрос когда срабатывает таймер, железно появляется высокий уровень на 3бит PINB, как сделать чтобы он был на PORTB?
в дебагере высокий уровень ставится именно на PIN, а в PORT ничего. в железе ставится высокий уровень на ноге, но команда clr temp out pinB,temp ставит 0 только на 1 такт после чего опять высокий уровень.
push temp clr temp out TCNT0,temp nop nop nop nop nop nop nop nop nop nop nop out pinB,temp pop temp reti
reset: ldi temp, low(RAMEND) out SPL, temp ldi temp, high(RAMEND) out SPH, temp ldi temp,$FF out ddrB,temp ;init 8-bit timer on 50hz ldi temp,144 out OCR0,temp ldi temp,(1<<OCIE0) out TIMSK,temp ldi temp,(1<<COM00)|(1<<COM01)|(1<<CS00)|(1<<CS02) out TCCR0,temp sei mloop: rjmp mloop