if (!repit) { for (N_bit=34;N_bit>0;N_bit--) { if (tx_byte & (1UL<< (N_bit-2) )) // Выполняем если текущий бит "1" TX_BIT(st_bit,one); else TX_BIT(st_bit,zero); } } TX_BIT(st_bit,pause);
void TX_BIT(unsigned char bit_stat_1, unsigned char bit_stat_2) { 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); // передаём вторую часть бита }