void TxBit()
{
number_ovf=0; // обнуляем счётчик
mod_ON // Включили модуляцию
out_led=1; // Высокий уровень управления светодиодом
Start_Timer // Запуск таймера
number_ovf=0; // обнуляем счётчик
while (number_ovf<bit_stat_1); // передаём первую часть бита
#asm ("nop");
number_ovf=0; // обнуляем счётчик
mod_OFF // Включили модуляцию
out_led=0; // Низкий уровень управления светодиодом
while (number_ovf<bit_stat_2); // передаём вторую часть бита
}
.............................................
{
bit_stat_1 = start_1;
bit_stat_2 = start_2;
TxBit();
if (repit==0)
{
N_bit=32;
bit_stat_1 = st_bit;
do{
bit_stat_2 = (tx_byte & (1UL<<(N_bit-2))) ? one : zero;
TxBit();
}while(--N_bit);
}
bit_stat_2 = pause ;// Передача законченна , пауза
TxBit();
}