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



Teraz jest 4 lut 2026, o 21:45


Strefa czasowa: UTC + 1





Utwórz nowy wątek Odpowiedz w wątku  [ Posty: 2 ] 
Autor Wiadomość
PostNapisane: 9 kwi 2017, o 19:47 
Offline
Użytkownik

Dołączył(a): 18 lis 2014
Posty: 33
Pomógł: 2

Witam, stworzyłem poniższą funkcję, w sumie działa, ale sprawia pewne problemy, proszę o zwrócenie uwagi na babole.
Ogółem wygląda to tak mam układ mastera (M1284 odczyt LCD, itp.) i dwa slave'y (M8,DS18B20,DHT22) i slave (M644, LCD) ; master odpytuje slave'y i to działa, dane wyświetlam na LCD i wszystko pasuje. Jednak gdy wyłączę nadawanie w masterze i wszystkie układy nasłuchują i chcę w tym czasie zaprogramować za pomocą bootloadera M644 to programowanie się udaje, ale w co drugim przypadku powoduje reset M1284.

Dodanie tej funkcji spowodowało też inny efekt; mam kilkanaście "ekranów" na których wyświetlam na LCD różne dane (czas, temperatury, wilgotność) do wyświetlania danych używam funkcji lcd_locate(y,x) i po uruchomieniu RS485 na LCD mam to co ma być i dodatkowo zdublowane niektóre dane (tak jakby y,x się zmieniały losowo) i losowe resety całości. Wcześniej układ pracował trzy miesiące bez przerwy i resetu.

Jeszcze jedno pytanie co do wysyłania danych z tego układu, zrobiłem to szeregiem instrukcji uart_putint itp. domyślam się że to niezbyt eleganckie rozwiązanie, lepiej najpierw posklejać stringa i później go wysłać na raz?



Kod na M1284 w reszcie podobne
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  
PostNapisane: 24 cze 2017, o 19:57 
Offline
Użytkownik

Dołączył(a): 18 lis 2014
Posty: 33
Pomógł: 2

Pozwolę sam sobie odpowiedzieć :) Trochę to trwało ale problem rozwiązałem, okazało się że trochę zbyt dużo wymagałem od procka, i po dołożeniu przerwań od uarta zaczynały się dziać cuda.
Posiedziałem pomyślałem i przerobiłem główną pętlę programu tak aby wszystko miało swoje miejsce w czasie i nie kolidowało z innymi działaniami. Działa :D



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

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