-
- при пошаговом прохождение выясняется что после команды TCCR0A=0b10000000; принудительно PINB.0 очищается. при этом PORTB.0=1 - Constantin24(17.07.2013 09:08)
- имхо, при этом PINB.0 начинает работать в режиме Compare Match Output и перестает зависеть от содержимого PORTB. Думаю, PORTB.0 нужно использовать либо как Compare Match Output, либо как GPIO, а не переключать его режим каждое прерывание. Hobo(295 знак., 17.07.2013 10:59)
- где же ты был раньше!) навел меня на мысль. Окей, так и сделаю.( Не знал, что при переводе в режим Compare A, перестает зависеть от содержимого PORTB.) - Constantin24(17.07.2013 11:52)
- А прочитать ответы? - KLIM83(17.07.2013 12:04, ссылка)
- Возник вопрос теперь в другом. при периоде ШИМ=1мс возникают 3 одинаковых ШИМ, затем идет четвертый с более длительным положительным импульсом. Затем все сначала. интересно почему так? - Constantin24(17.07.2013 13:19)
- понял почему. #asm("reti") неверно для меня исполнялось. жалею иногда что не в асме программирую - Constantin24(17.07.2013 16:09)
- Возник вопрос теперь в другом. при периоде ШИМ=1мс возникают 3 одинаковых ШИМ, затем идет четвертый с более длительным положительным импульсом. Затем все сначала. интересно почему так? - Constantin24(17.07.2013 13:19)
- А прочитать ответы? - KLIM83(17.07.2013 12:04, ссылка)
- где же ты был раньше!) навел меня на мысль. Окей, так и сделаю.( Не знал, что при переводе в режим Compare A, перестает зависеть от содержимого PORTB.) - Constantin24(17.07.2013 11:52)
- 1. при пошаговом прохождениИ KLIM83(123 знак., 17.07.2013 09:16)
- решил проблему. после TCCR0A=0b10000000; поставил PINB.0=1 и все работает. так понял то что после команды TCCR0A вывод переходит на альтернативу, а он первоначально сбрасывается в ноль, поэтому ставлю единицу. - Constantin24(17.07.2013 10:57)
- имхо, решение хоть и работает, но ... не очень красивое - Hobo(17.07.2013 11:04)
- согласен) - Constantin24(17.07.2013 11:52)
- имхо, решение хоть и работает, но ... не очень красивое - Hobo(17.07.2013 11:04)
- решил проблему. после TCCR0A=0b10000000; поставил PINB.0=1 и все работает. так понял то что после команды TCCR0A вывод переходит на альтернативу, а он первоначально сбрасывается в ноль, поэтому ставлю единицу. - Constantin24(17.07.2013 10:57)
- имхо, при этом PINB.0 начинает работать в режиме Compare Match Output и перестает зависеть от содержимого PORTB. Думаю, PORTB.0 нужно использовать либо как Compare Match Output, либо как GPIO, а не переключать его режим каждое прерывание. Hobo(295 знак., 17.07.2013 10:59)
- при пошаговом прохождение выясняется что после команды TCCR0A=0b10000000; принудительно PINB.0 очищается. при этом PORTB.0=1 - Constantin24(17.07.2013 09:08)