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



Teraz jest 22 mar 2026, o 10:38


Strefa czasowa: UTC + 1





Utwórz nowy wątek Odpowiedz w wątku  [ Posty: 5 ] 
Autor Wiadomość
PostNapisane: 31 gru 2016, o 04:23 
Offline
Użytkownik

Dołączył(a): 30 paź 2016
Posty: 41
Pomógł: 1

Witajcie!
Może ktoś mi podpowie jak to zrobić, pytanie może wydawać się głupie ale podobno kto pyta nie błądzi.

Wysyłam sobie z jednego uP po UARCIE dane do drugiego.
Nazwijmy je stacja pomiarowa i stacja odbiorcza.
Ze stacji pomiarowej wysyłam 2 dane: temperature i wilgotnosc.
Stacja nadawcza ma wyświetlać te parametry na LCD.

Jeden parametr bez problemu mi odczytuje (powiedzmy temperature) ale jak zrobić żeby odczytywał drugi zamiast go nadpisywać?
Aktualnie na zmianę wyświetla się temperatura i wilgotność a ja chcę zaby pokazywały się niezależnie w innych miejscach na LCD.

Myślałem o zrobieniu tego na timerze, że np. co pól sec wysyła ten pomiar a raz drugi ale nie wiem czy to nie jest przekombinowane :)
Gdyby ktoś mógł mi podsunąć pomysł.

Z góry dziękuję :)



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 31 gru 2016, o 08:11 
Offline
Użytkownik
Avatar użytkownika

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

A nie można po prostu wysłać ta temperaturę i wilgotność w jednej lini rozdzielając je jakimś znakiem np. 20.1;55 ?



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 31 gru 2016, o 08:51 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 19 cze 2014
Posty: 820
Lokalizacja: Tam gdzie PYRY są
Pomógł: 64

Rozwiązań jest co najmniej kilka,
Najlepszym byłoby wstawienie znaczników jakichś, żeby rozdzielić pomiary i wysłać całość jako string np #temp#ciśn# i potem ten string podzielić na tokeny funkcją strtok(). I masz gotowe zmianne z danymi jakie chcesz wyświetlić.

Innym sposobem, prostszym ale mniej eleganckim - nie polecam - jest np dodanie jakiejś liczby do jednej zmiennej. Jeżeli np. wiesz, że temp i wilgotność będzie zawsze poniżej 100 st C, możesz dodać do np wilgotności 100. Wtedy po odebraniu danej robisz warunek, że jeżeli >100 to jest wilgotność. Odejmujesz te 100 i masz wynik. Jeżeli <100, to jest to temperatura. Ale sprawdzi się to tylko w pewnych warunkach (np temp tylko w przedziale 0-100 stopni).

_________________
IntegraMETEO
WordCLOCK
IntegraTOUCH



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 2 sty 2017, o 14:56 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 17 sie 2013
Posty: 3797
Lokalizacja: Grudziądz
Pomógł: 143

A nie prościej wysyłać sobie po uart danych w ten sposób:
TEMP=201
WILG=750

Natomiast w odbiorniku parsować sobie te dane i jeżeli przed znakiem = mamy TEMP zapisujemy dane do zmiennej / struktury przechowującej wartości dla temperatury i tak samo jeżeli przed znakiem = jest WIGL to wiemy, że to wilgotność

następnie przed samym wyświetleniem danych dzielimy je przez 100 i uzyskujemy 2 zmienne do wyświetlenia liczb całkowitych i dziesiętnych.

Daje to również taką zaletę, że jak polecą krzaczki na uarcie to nie podmieni nam właściwych danych na błędnie odczytane.

_________________
Usługi druku przestrzennego - www.drumik.pl



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 2 sty 2017, o 15:09 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 30 cze 2016
Posty: 247
Lokalizacja: Rybnik
Pomógł: 13

Ja bym ustawił 9 bitowe słowo. Stan 9 bitu znaczył by, czy jest przesyłana wilgotność czy temperatura. Oczywiście temperatura z wilgotnością np podzielić przez 4 a w odbiorniku pomnożyć przez 4 by się w 8 bitach zmieścić. Traci się przy tym niestety 2 bity dokładności.

Równie dobrze można zostawić 8 bitowe słowo, a na rozróżnianie przeznaczyć jakieś wyjście typu PORTx, np stan niski oznacza przesłanie temperatury, a stan wysoki oznacza przesłanie wilgotności.

_________________
Situs != Situs



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: 5 ] 

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:  
cron
Sitemap
Technologię dostarcza phpBB® Forum Software © phpBB Group phpBB3.PL
phpBB SEO