ВходНаше всё Теги codebook 无线电组件 Поиск Опросы Закон Среда
3 июля
100121
Ivaxa (19.09.2007 11:20, просмотров: 1800) Shura
Не работает синхронный захват TIMERB в MSP430FG4619 Настройка таймера: <c> TBCTL |=(TBSSEL0 // Тактирование от ACLK + MC1); // Непрерывный режим счета TBCCTL0 |=(CM0 // Захват по обоим фронтам (программный) + CM1 + CCIS1 // + SCS // Синхронный захват (если раскоментировать - не работатет) + CAP); // Режим захвата </c> Обработчик прерывания (считаю период импульсов с помощью TIMERB): <c> #pragma vector = PORT1_VECTOR __interrupt void PORT1_int(void) { unsigned int TBR_temp; TBCCTL0 ^= CCIS0; // Програмный захват (TBCCR0 = TBR) TBCTL |= (TBCLR // Очистка и перезапуск таймера + MC1); TBR_temp = TBCCR0; .................. </c> Работает, пока не раскоментирую строку // + SCS. В этом случае в TBCCR0 всегда или 0 или 1, когда в TBR - нормальные данные, при этом устанавливается почему-то флаг переполнения захвата COV, хотя TBR у меня никогда не переполняется Но мне нужен именно синхронный захват. Что я делаю неправильно?