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
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.