MarcinPieta napisał(a):
kolego doman89a czy teraz kod sie bardziej podoba czy muszę jeszcze nad nim popracować.W razie jak się nie podoba proszę o przykłady jak już wspominałem jestem początkującym i sczytywanie wciśnięć klawiszy było zaczerpnięte z książki tak jak kod hex czy binarny, wszelkie błędy są niezamierzone i wynikają tylko z mojej niewiedzy.
Kolega proszę może nie z tak dużych liter ok? Ja nie miałem zamiaru się czepiać, tylko w dobrym zamiarze Ci napisałem, bo naprawdę sam zobacz, że już teraz jest o niebo lepiej

Tak by post wisiał nikt by nic nie napisał, daje sobie rękę uciąć (no dobra z tą ręką to przesadziłem

)
Chcesz przykładu, ok tu masz Twój kod:
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.
Porównaj to teraz z Twoim pierwszym który tu był i odpowiedz szczerze który jest przyjemniejszy w analizie?
Co do liczb hexadecymalnych to w małym programie ogarniesz luz, ale wyobraź sobie, że masz program na 1000 linijek kodu, zmieniasz kolejność klawiszy bo tak projekt np. zakłada i teraz sieczka... każdą liczbę hex analizujesz i zmieniasz krok po kroku. Tak więc zobacz na starcie ile chce Ci nerwów zaoszczędzić

Teraz to jak wyżej zmienisz kilka makrodefinicji, a w kodzie automatycznie wszystko masz tak jak chcesz.
Pamiętaj to z czym się pomęczysz na początku, to gwarantuję Ci, że zwróci się z naddatkiem.
z Niebieskim pozdRowieniem,
Doman89------------------------ [ Dodano po: 15 minutach ]Co do programu nie wiem, czy to jest zamierzony cel, ale w pętli while masz 2 ify.
Strzelam, że masz tam podłączone jakieś przełączniki i na podstawie pozycji chcesz przełączać tryb. Więc ja bym dał if... else if. Inaczej jeżeli będziesz miał 2 włączone to program będzie skakał od jednego do drugiego. No chyba, że tak ma być to ok.
Po drugie nie rozumiem czemu masz inicjalizację USART'u w programie. Przecież chyba wystarczy raz w main? Tym bardziej, że obie się niczym raczej nie różnią. Tak jak koledzy wyżej napisali, przydały by się przerwania. Wtedy ładujesz do bufora dane do wysłania oraz ewentualnie z bufora odczytujesz dane odebrane. Czyli jak wspomnieli full duplex.