ВходНаше всё Теги codebook 无线电组件 Поиск Опросы Закон Вторник
21 января
1491127 Топик полностью
Гyдвинволшебник (15.01.2025 14:18, просмотров: 105) ответил Tpoeшник на Че зашел: а шо такое «отбеливание»? Я отправляю например от датчика движения 85, номер датчика, crc.
XЗ, враги так обзываются, вероятно имеяя ввиду "белый шум". В моем случае XOR 0x55 с целью получить более равномерный поток нулей и единиц. Счетчик пакетов добавил в основном для получения бОльшего разбега CRC в коротких повторяющихся пакетах . Тактовая контроллера передатчика всего 1 МГц, посему CRC считаю предварительно, чтобы времянки потока были равномернее. Ну и достаточно длинная преамбула чтобы "разогреть" приемник. 
void tx_packet_rf(void) 
{
    unsigned char i;
    unsigned char *ptr;
    ptr=(unsigned char*)&data;
    data.num=NUMB;
    data.cnt++;
    data.CRC8 = Crc8((unsigned char*)&data,4);
    tx_byte_rf(0);   // преамбула                         
    tx_byte_rf(0);                            
    tx_byte_rf(0);                            
    tx_byte_rf(0);                            
    tx_byte_rf(0); 
    tx_byte_rf(0xe6); // синхрослово
    for (i=0;i<5;i++) tx_byte_rf((*ptr++)^0x55); // передадим данные вместе с CRC + "отбеливание"
    tx_byte_rf(0x22); // хвост
}