ВходНаше всё Теги codebook 无线电组件 Поиск Опросы Закон Воскресенье
24 ноября
1056808
Tpoeшник (30.11.2020 21:38, просмотров: 4661)
ATMega32U2. Работаю с таймером в режиме генерации 125кHz на выходах ОС1А, OC1B. Переворачиваю вывод перед запуском чтоб получить сигнал на выводах в противофазе. Понадобилось включать/отключать генерацию. Отключить нет проблем, а включается в противофазе!!! со второго раза. Где я туплю. Спасибо! 
   //включаю
    asm("cli");
    OCR1AH = 0x00;
    OCR1AL = 0x1F;
    OCR1BH = 0x00;
    OCR1BL = 0x1F;
    TCCR1A = 0x50;//Toggle OCnA/OCnB on compare match.Waveform Generation Mode -4 (CTC)
    TCCR1C |= (1 << FOC1B);
    TCCR1B = 0x09;//Clock Select = clkI/O/1 (No prescaling
    asm("sei");


   //отключаю
   asm("cli");
   OCR1AH = 0x00;
   OCR1AL = 0x00;
   OCR1BH = 0x00;
   OCR1BL = 0x00;
   TCCR1A = 0x00;
   TCCR1C = 0x00;
   TCCR1B = 0x00; 
   asm("sei");