RX868FSK1/TX868FSK1 - funkce a spolehlivost spojení

Jak jsem psal výše, dělal jsem zařízení s moduly HOPE MICROELECTRONICS. Příjem řeším pomocí UARTu a přerušení. Když se nevysílá, tak to chytá samozřejmě blbosti, ale jakmile se zapne vysílač, je na lince klid. Takže zapnu vysílač a odešlu preamble 20x 0xAA, 10x 0x55. Mezi jednotlivými byty je “klid” na dobu jednoho a půl bytu kvůli synchronizaci přijímače. Na straně přijímače počítám 0xAA. Pokud jich napočítám alespoň 10 bez přerušení, očekávám 0x55. Jakmile přijde přesně 10x 0x55, vím, že následují data a jsou odfiltrovány nesmysly, které to chytá, když se nevysílá. Vysílač je nastaven na 8N2, přijímač na 8N1. Tím se automaticky zajišťuje synchronizace vysílače a přijímače při dlouhých paketech (nepoužívám krystaly). Data jsou pak zabezpečena tím, že posílám byte a za nim hned jeho negaci (jenom u dat, nikoliv u preamble). U přijímače zkontroluji, jestli souhlasí data a negace a pokud ne, zastavím příjem a čekám na další preamble.

Takže přerušení bych nezavrhoval. Stejně musíš to, co leze z přijímače nějak trvale zpracovávat (zahazovat/analyzovat/přijímat) a pomocí přerušení je to asi nejelegantnější. Ber to tak, že trvale přijímáš data a z nich vybíráš pouze ty, které potřebuješ.