Kanał - ATNEL tech-forum
Wszystkie działy
Najnowsze wątki



Teraz jest 11 kwi 2026, o 00:00


Strefa czasowa: UTC + 1





Utwórz nowy wątek Odpowiedz w wątku  [ Posty: 1 ] 
Autor Wiadomość
PostNapisane: 3 mar 2015, o 09:58 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 12 wrz 2013
Posty: 50
Pomógł: 0

Witam,
W programie istnieje zmienna globalna wejscia1, chciałbym tą zmienną "ładnie ubrać" tak aby mogła zostać wysłana przez UART, oraz na końcu dodać sumę kontrolną ModbusCRC.

Sumę kontrolną obliczam za pomocą takiej funkcji:
Składnia: [ Pobierz ] [ Ukryj ]
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.


Natomiast funkcja przygotowująca ramkę wygląda tak:
Adres jest to również zmienna typu char przechowująca dwu znakowy adres modułu.

Składnia: [ Pobierz ] [ Ukryj ]
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.


Docelowo wysłany łańcuch ma wyglądać tak:

+ADRES^3^TUTAJ ZMIENNA WYJSCIA1^CRC

Domyślam się, że robię coś źle przy próbie zamiany zwracanej sumy kontrolnej jako uint16_t do dwóch char. Może ktoś ma pomysł jak powinno to wyglądać prawidłowo, bardziej zoptymalizowane (bo pewnie coś da się uprościć)?

Pozdrawiam.

EDIT:
Chyba już sobie poradziłem - troszkę źle podchodziłem do tego - za bardzo zainspirowałem się funkcją porównującą CRC. Poniżej podaję kod funkcji zwracającej wersję firmware sterownika gdzie obliczanie CRC i przygotowanie ramki działa poprawnie:
Składnia: [ Pobierz ] [ Ukryj ]
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
Wyświetl posty nie starsze niż:  Sortuj wg  
Utwórz nowy wątek Odpowiedz w wątku  [ Posty: 1 ] 

Strefa czasowa: UTC + 1


Kto przegląda forum

Użytkownicy przeglądający ten dział: Brak zidentyfikowanych użytkowników i 2 gości


Nie możesz rozpoczynać nowych wątków
Nie możesz odpowiadać w wątkach
Nie możesz edytować swoich postów
Nie możesz usuwać swoich postów
Nie możesz dodawać załączników

Szukaj:
Skocz do:  
Sitemap
Technologię dostarcza phpBB® Forum Software © phpBB Group phpBB3.PL
phpBB SEO