N_bit=34; // Кол-во передаваемых бит
while (N_bit>0) // полная передача команды
{
bit_stat_1 = st_bit;
if (N_bit==34) // определяем наличие статрового бита
{
bit_stat_1 = start_1;
bit_stat_2 = start_2;
if (repit==1)N_bit=1; // если команда повторяется
goto TX_BIT;
}
if (N_bit==1) // Передача законченна , пауза
{
bit_stat_2 = pause ;
goto TX_BIT;
}
if (tx_byte & (1UL<<(N_bit-2))) // Выполняем если текущий бит "1"
{
bit_stat_2 = one;
goto TX_BIT;
}
else
{
bit_stat_2 = zero;
goto TX_BIT;
};
TX_BIT:
//=========================== Transmit BIT ===========================================