Kuba323 napisał(a):
Z tym, że mi coś nie wychodziło to chodziło o to, że ekran wyświetlał ten ekran startowy, a po chwili zaczynał się świecić na biało i tak było praktycznie za każdym razem kiedy próbowałem coś zrobić za pomocą millis.
Po chwili czyli po jakim czasie? Próbowałeś to zrobić inaczej niż za pomocą millis, np. za pomocą funkcji
delay()? Czy wtedy działało? Działo się tak niezależnie od tego, czy panel był dotykany?
Musisz dokładniej opisywać swój problem, bo trudno zgadywać, jakie masz objawy złego działania programu. Poza tym mógłbyś uporządkować kod. Głównie chodzi o odpowiednie wcięcia tekstu i usunięcie niepotrzebnych linii odstępu, bo bardzo źle się to analizuje.
Ja bym tu raczej w tej chwili tego fragmentu kodu z funkcją
millis() nie winił. Może problem leży w funkcji
ekranstartowy(), albo w funkcji
dotyk(), albo w którejś z bibliotek. Jeśli chodzi o biblioteki, to niestety nie pomogę, bo nie znam za bardzo Arduino, może ktoś inny się wypowie.
Ja zauważyłem jeszcze na przykład, że masz źle wpisany nawias klamrowy zamykający blok warunkowy
if (p.z > MINPRESSURE && p.z < MAXPRESSURE) wewnątrz funkcji
dotyk(). Powinno być:
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.
a jak jest? Być może sam byś zauważył błąd, gdyby kod był sformatowany prawidłowo.
Kuba323 napisał(a):
A biblioteka, której używam to ds3231 Jarzębskiego i nie mogę się doszukać takich funkcji jak get second itp.
No funkcji może nie ma, ale na pewno masz sekundy w strukturze
RTCDateTime dt;, którą przecież uaktualniasz co obieg pętli głównej programu instrukcją
dt = clock.getDateTime();, więc
dt.second zawiera zawsze aktualną ilość sekund, i można to wykorzystać do stworzenia warunku, ale to nie w tej chwili.
Na razie proponowałbym ograniczyć problem. Spróbuj może na razie we funkcji
loop() dać tylko:
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.
jeśli zadziała dodaj na początku
dt = clock.getDateTime();jeśli zadziała dodaj
dotyk();i daj znać, jakie efekty
Może w ten sposób uda się ograniczyć, która funkcja sprawia problem.