ATtiny25-20pu проблема с ШИМ
Добавлено: Ср июл 01, 2015 22:41:32
Привет. МК исправен, уже поигрался со светодиодами.
Мне нужно с помощью данного мк управлять двумя сервоприводами. Для начала нужно хоть с одним справиться. По даташиту на нем 2канальный pwm. Я решил выводить сигнал на ножку OC0A (нулевой пин B).
Делаю все по даташиту, ищу все, что связано с fast pwm
.
Пишут: " TOP is defined as 0xFF when WGM0[2:0] = 3, and OCR0A when WGM0[2:0] = 7." ну так-как мне нужно различное значение угла, то ставлю в регистре TCCR0A биты WGM00,WGM01,WGM02(этот в B) по единице.
Идем дальше:
"In fast PWM mode, the compare unit allows generation of PWM waveforms on the OC0x pins. Setting the COM0x[1:0] bits to two will produce a non-inverted PWM" значит ставим COM0A1 в 1 и COM0A0 в 0.
Это максимум, что я смог вытащить из абзаца про fast powm.
Дальше ищу что-нибудь про TCCR0A:
Биты COM0,WGM выставили, в принципе здесь больше ничего нет.
Смотрю по TCCR0B: WGM02 есть, CS00 ставлю в единицу(No prescaling).
На следующей странице пишут про TCNT0, написано, что лучше это не трогать.
дальше идет регистр OCR0A. Как я понял, он нужен для генерации сигнала на серву, а именно на пин. к которому я ее подключил.
Внимание вопрос: что я cделал не так, что еще нужно сделать?
ДШ: http://www.atmel.com/images/atmel-2586- ... asheet.pdf
Мне нужно с помощью данного мк управлять двумя сервоприводами. Для начала нужно хоть с одним справиться. По даташиту на нем 2канальный pwm. Я решил выводить сигнал на ножку OC0A (нулевой пин B).
Делаю все по даташиту, ищу все, что связано с fast pwm
Пишут: " TOP is defined as 0xFF when WGM0[2:0] = 3, and OCR0A when WGM0[2:0] = 7." ну так-как мне нужно различное значение угла, то ставлю в регистре TCCR0A биты WGM00,WGM01,WGM02(этот в B) по единице.
Идем дальше:
"In fast PWM mode, the compare unit allows generation of PWM waveforms on the OC0x pins. Setting the COM0x[1:0] bits to two will produce a non-inverted PWM" значит ставим COM0A1 в 1 и COM0A0 в 0.
Это максимум, что я смог вытащить из абзаца про fast powm.
Дальше ищу что-нибудь про TCCR0A:
Биты COM0,WGM выставили, в принципе здесь больше ничего нет.
Смотрю по TCCR0B: WGM02 есть, CS00 ставлю в единицу(No prescaling).
На следующей странице пишут про TCNT0, написано, что лучше это не трогать.
дальше идет регистр OCR0A. Как я понял, он нужен для генерации сигнала на серву, а именно на пин. к которому я ее подключил.
Внимание вопрос: что я cделал не так, что еще нужно сделать?
ДШ: http://www.atmel.com/images/atmel-2586- ... asheet.pdf