Skocz do zawartości

[STM32] [C] Wysyłanie wartości heksadecymalnych przez UART


juras

Pomocna odpowiedź

Witam!

Borykam się z pewnym problemem. Wysyłanie i odbiór przez UART wartości 8-bitowych udało mi się zrealizować bez większych problemów. Jednak gdy chciałem zrealizować wysyłanie wartości 16-bitowych, najpierw wysyłając starsze 8 bitów, później młodsze i następnie łącząc je w całość, miałem problemy z odbiorem.

Nie zależy mi na wysyłaniu liter, jedynie wartości heksadecymalne, ponieważ chcę wykorzystać opracowaną na własne potrzeby ramkę danych. Próbowałem wykorzystać sposób z funkcjami printf z lekcji UART z kursu STM32F4, również nie osiągnąłem odpowiedniego rezultatu.

Do odbioru i wysyłania wykorzystuję przerwania, a dane przesyłam jako elementy tablicy.

Czy ktoś zna sposób, w jaki można rozwiązać ten problem?

Link do komentarza
Share on other sites

Ale jaki problem dokładnie? Bo napisałeś tylko, że "miałeś problemy z odbiorem", ale nie napisałeś na czym one polegały. Jakieś szczegóły? Może jakiś minimalny przykład kodu, który demonstruje problem?

Przy okazji, wartości heksadecymalne, to ty najwyżej możesz sobie wyświetlać, przesyłasz zawsze wartości binarne. A to, czy potem je interpretujesz jako litery, bajty, czy liczby 16-bitowe, to już sprawa odbiornika.

Link do komentarza
Share on other sites

Bądź aktywny - zaloguj się lub utwórz konto!

Tylko zarejestrowani użytkownicy mogą komentować zawartość tej strony

Utwórz konto w ~20 sekund!

Zarejestruj nowe konto, to proste!

Zarejestruj się »

Zaloguj się

Posiadasz własne konto? Użyj go!

Zaloguj się »
×
×
  • Utwórz nowe...

Ważne informacje

Ta strona używa ciasteczek (cookies), dzięki którym może działać lepiej. Więcej na ten temat znajdziesz w Polityce Prywatności.