Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- /*
- регистр |= (1 << номер_бита); Чтобы 1
- регистр &= ~ (1 << номер_бита); Чтобы 0
- */
- void setup() {
- OCR2A=100;//срабатывание A
- OCR2B=200;//срабатываение B
- //Режим работы таймера 2
- TCCR2A &=~(1 << WGM21)|(1 << WGM20);//0 //нормальный режим
- TCCR2B &=~(1 << WGM22); //0 //то же
- //Инвертирование OC2A и OC2B при совпадении
- TCCR2A &=~(1 << COM2A1)|(1 << COM2B1);//0
- TCCR2A |=(1 << COM2A0)|(1 << COM2B0);//1
- //без предделителя
- TCCR2B &=~(1 << CS22)|(1 << CS21); //0
- TCCR2B |=(1 << CS20); //1
- //прерывания по совпадению A и B (отключение ничего не меняет)
- TIMSK2 |=(1 << OCIE2A)|(1 << OCIE2B);//1//маска прерываний
- TIMSK2 &=~(1 << TOIE2);//0
- //TCCR2B |=(1 << FOC2A)|(1 << FOC2B);//1 //стробы?
- pinMode(2, OUTPUT);//вывод OC2B выход
- pinMode(11, OUTPUT);//вывод OC2A выход
- }
- void loop() {
- //просто дёргаем ножкой
- digitalWrite(10, HIGH);
- digitalWrite(10,LOW );
- digitalWrite(10, HIGH);
- digitalWrite(10,LOW );
- }
- ISR(TIMER2_COMPA_vect) {
- }
- ISR(TIMER2_COMPB_vect) {
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement