ATNEL tech-forum https://forum.atnel.pl/ |
|
Sprawdzenie poprawności sumy CRC - UART https://forum.atnel.pl/topic20390.html |
Strona 1 z 1 |
Autor: | faber33 [ 11 mar 2018, o 20:47 ] |
Tytuł: | Sprawdzenie poprawności sumy CRC - UART |
Witam. Mam takie problem: Chciałbym dodać do UARTu sumę CRC16 w celu wiadomym czyli sprawdzenia czy dotrzymane dane są poprawne. Do wysyłanej ramki dodałem tą sumę CRC16 czyli: mojedane:CRC (dwukropek dałem w celu oddzielania danych od sumy - nadmiarowo zapewne). I teraz proszę o poradę jak w paserze danych z UARTu sprawdzić czy suma CRC jest poprawna ? Dodam że używam funkcji _crc16_update z biblioteki <util/crc16.h> |
Autor: | abel11 [ 11 mar 2018, o 21:54 ] |
Tytuł: | Re: Sprawdzenie poprawności sumy CRC - UART |
Znane mi są dwie metody: 1) Po odebraniu ramki danych (z CRC) obliczasz sumę CRC całej ramki (łącznie z CRC) i tu wyznaczone CRC powinno wynosić 0. 2) Obliczasz CRC odebranej ramki danych (bez CRC) i wyznaczone CRC powinno się zgadzać z tym wysłanym w ramce. Swoją drogą widziałem bardzo dobrze napisany artykuł właśnie odnośnie CRC, może warto poszukać na forum. |
Autor: | faber33 [ 12 mar 2018, o 00:37 ] |
Tytuł: | Re: Sprawdzenie poprawności sumy CRC - UART |
Dzięki za odpowiedź, o tym pierwszym sposobie wspominał kolega rskup wktórymś z postów na forum ... ale coś mi to nie pasuje ... powiedzmy np. Wpisałem sobie do kalkulatora: https://www.lammertbies.nl/comm/info/cr ... ation.html 1234 CRC-16 wynosi 14BA I teraz co "sklejamy" razem 1234 i 14BA i ma wyjść 0 ? Jak tak zrobię to wychodzi: BEDA Drugim sposobem udało mi się w ten sposób to zrobić: |
Strona 1 z 1 | Strefa czasowa: UTC + 1 |
Powered by phpBB® Forum Software © phpBB Group https://www.phpbb.com/ |