Все ноли при изменении на вариант
 с 1-м прерыванием, но не виснет при включении и выключении.
	PHP код:
	
#include <TimerOne.h> 
 
volatile uint16_t timerCount; 
#define BTNPIN 2 //Входной сигнал PPM 
int ppmImpuls[9]; // Массив импульсов для паузы и 8 каналов 
int chImpuls[9] = {1000, 100, 100, 100, 100, 100, 100, 100, 100}; // Массив средних значений для паузы и 8 каналов 
int chanel = 0 ; // Номер канала 
int minImpuls = 45 ; // Минимальный импульс (450 us) 
int maxImpuls = 155; // Максимальный импульс (1550 us) 
int minPausa = 500; // Минимальная пауза (5000 us) 
int maxPausa = 1300; // Максимальная пауза (13000 us)
void setup()     
{       
  Serial.begin(115200); 
  pinMode (BTNPIN, INPUT); 
  Timer1.initialize(10);                   
  Timer1.attachInterrupt(callback); 
  attachInterrupt(1, impDown, RISING);
}     
void loop()     
{       
  for (int i=1; i <= 8; i++) 
    { 
      chImpuls[i] = (4 * chImpuls[i] + ppmImpuls[i]) / 5 ; // усреднение 3 импульсов 
      Serial.print(i); Serial.print("=");  
      Serial.print(chImpuls[i]); Serial.print(" ");
    }      
      Serial.println(""); 
      //delay (200); 
      //servo1.writeMicroseconds(chImpuls[1]*10);  
      //servo2.writeMicroseconds(chImpuls[2]*10);  
}   
void callback() //--------- Счетчик------------ 
  { 
    timerCount++;
  } 
void impUp() //---------- Функция обработки положительного импульса по таймеру 0   
{ 
  detachInterrupt(1); 
  timerCount=0; 
  attachInterrupt(1, impDown, RISING);     
}     
void impDown() // Функция обработки отрицательного импульса по таймеру 0 
{  
  int ppm = timerCount; 
  detachInterrupt(1); 
  if( ppm > minPausa ) { chanel=0 ; } else { chanel ++ ; } 
  ppmImpuls[chanel] = ppm ; 
  attachInterrupt(1, impUp, FALLING);    
} 
 p.s. Я кажись понял, нужно и пин другой подключить. Снова пробую.