Нифигасебе проще 

)
Ну дело твоё, да, нужно запитать и подавать на вход 0 или 1 и смотреть правильно ли на выходе.
Программно:
В файле bldchv.c в самом начале функции main добавь строчки
/*test*/
 PORTD=0x00;		//clear so not turning on the fets accidently
 DDRD=0b10000111;    	//Bit7,2,1,0 are outputs
 PORTB=0x00;		//disable pullups, set output to 0
 DDRB=0b00000111;			//Bit2:0 are output
 Com_Index=0; //значение от 0 до 5! 
 PORTD=0b00000111 & ACTIVE_FET    [Com_Index];
 PORTB=0b00000111 & PWM_BYTE_DATA[1][Com_Index];
 while(1);
/*test end*/
Программа запустится выставит значения для первой стадии коммутации и зациклится на while(1);
Массивы берутся из файла include/commutation.h
Переменная Com_Index отвечает за индекс коммутации она меняется от 0 до 5.
Т.е. скомпилировал с Com_Index=0 залил посмотрел состояния выводов,
потом меняешь Com_Index=1 и повторяешь процесс.
Микросхему можно перепрограммировать 100 000 раз, так что не бойся 

Посмотреть что должно быть на выходе можно в описании массивов в файле commutation.h
Например  ACTIVE_FET  0x03, // 0 1 1 это означает что на  PORTD будет выставлено  PD2=0 , PD1=1 , PD0=1;
а PWM_BYTE_DATA   0x31, //-011-001  это означает что PB2=0 , PB1=0  , PB0=1 (мы читаем только последние три байта)
Проверять можно тестером, 1==5в , 0==земля
ir2104 работает так,
вывод SD это вкл, выкл всей микросхемы, т.е. если SD= 1 то на выходе то что на входе IN,
Если на входе IN 1 то включен верхний транзистор, если 0 то включен нижний, одновременно верхний и нижний не должны быть включены!
если  SD 0 то на выходе везде нули. независимо что на входе IN
Добавлено спустя 15 минут 57 секунд:Только на каждом шаге проверь выводы на всех трёх микросхемах, я тебе давал ссылку, народ говорит, что попадаются палёные микросхемы, которые глючат, или вообще IN c SD перепутаны местами.