Witam,
posiadam dwie atmegi8 sprzęgnięte ze sobą komunikacja za pomocą UART. Jedna atmega będzie zbierać informację z czujników i poprzez UART przesyłać bajty danych do drugiej atmegi której zadaniem jest wyświetlanie tych wartości na wyświetlaczu graficznym.
Moja ramka danych składa się z dwóch bajtów, pierwszy z nich jest to bajt "adresowy" który wskazuje atmedze na wyświetlaczu która zmienna jest akurat przesyłana : zmienna1, lub zmienna2 lub zmienna 3.
wszystko działa prawidłowo do puki atmega odbiorcza jest "przygotowana" na odbieranie trzech różnych zmiennych " zmienna 1, zmienna 2 lub zmienna 3.
program w nadajniku:
w odbiorniku:
Urządzenie przestaje działać poprawnie gdy atmega odbiorcza nie rozpoznaje adresu A=3, czyli jakbyśmy dodali średniki przed kompilacją dla przykładu 2.
dzieje się wtedy tak że, admega odbiorcza odbiera wrzuca do zmiennej A nadawane dane do zmiennej3 - a powinna je zignorować, i zacząć odczyt danych od zmiennej1 czyli A=1
Panowie jak to rozwiązać ?? żeby druga część ramki danych była pomijana gdy pierwsza część "adresowa" nie spełnia żadnego warunku ??
funkcja ta ma mi później posłużyć do wywoływania podprogramu w atmedze wyświetlacza również zdalnie przez UART
posiadam dwie atmegi8 sprzęgnięte ze sobą komunikacja za pomocą UART. Jedna atmega będzie zbierać informację z czujników i poprzez UART przesyłać bajty danych do drugiej atmegi której zadaniem jest wyświetlanie tych wartości na wyświetlaczu graficznym.
Moja ramka danych składa się z dwóch bajtów, pierwszy z nich jest to bajt "adresowy" który wskazuje atmedze na wyświetlaczu która zmienna jest akurat przesyłana : zmienna1, lub zmienna2 lub zmienna 3.
wszystko działa prawidłowo do puki atmega odbiorcza jest "przygotowana" na odbieranie trzech różnych zmiennych " zmienna 1, zmienna 2 lub zmienna 3.
program w nadajniku:
Kod: text
w odbiorniku:
Kod: text
Urządzenie przestaje działać poprawnie gdy atmega odbiorcza nie rozpoznaje adresu A=3, czyli jakbyśmy dodali średniki przed kompilacją dla przykładu 2.
dzieje się wtedy tak że, admega odbiorcza odbiera wrzuca do zmiennej A nadawane dane do zmiennej3 - a powinna je zignorować, i zacząć odczyt danych od zmiennej1 czyli A=1
Panowie jak to rozwiązać ?? żeby druga część ramki danych była pomijana gdy pierwsza część "adresowa" nie spełnia żadnego warunku ??
funkcja ta ma mi później posłużyć do wywoływania podprogramu w atmedze wyświetlacza również zdalnie przez UART