{
PORTB.0 = 1;
PORTB.0 = 0;
#asm
nop
... (Всего 12 nop)
nop
#endasm
}
Пока сделал так, в качестве эксперимента, странно, что скважность не более 7, если верить протеусу, видимо включение порта и отключение происходит более, чем за 2 такта.
Когда мне надо было 1 такт "1" и 2 такта "0", мне посоветовали режим СТС.u-Art писал(а):Так, чтобы была возможность 2 такта держать лапку в 1, затем 8 тактов на лапке 0 и возврат к началу счета.
Вроде это режим Fast PWM top=OCR0A...
Код: Выделить всё
#include <avr/io.h>
#include <avr/interrupt.h>
int main(void){
OCR0A = 10;
OCR0B = 2;
TCCR0A = _BV(COM0B1) | _BV(WGM00) | _BV(WGM01);
TCCR0B = _BV(WGM02) | _BV(CS00);
DDRB = 0xFF;
while(1);
}
Да, действительно. Но это если есть расширенная настройка таймера, как здесь:ARV писал(а):Fast PWM timer mode элементарно решает проблему 2 такта единичка 8 тактов нолик!!!
Он самыйalexan9er писал(а): осцилограф Из протеуса