13-03-2018, 14:19
(13-03-2018, 04:37)kaczakat napisał(a): Wróć do przykładu blinkWhithoutDelay i zerknij tutaj https://forum.arduinopolska.pl/watek-nak...a-przez-bt, zastanów się jak często musisz wykonywać poszczególne rzeczy i rozdziel między nie czas procesora. Np. mierzenie temperatury, można robić co 10s, odpowiednio robione zajmie 27 + 3ms, jak robisz to zgodnie z najprostszym przykładem i co 1s to zajmie 7,5s w każdych dziesięciu. Czasami mierzenie trzeba robić co 0,1s, ale wtedy przy ds trzeba zrezygnować z 12bitów. Do tego parę rzeczy robionych wg takiej fizolowi z delayami i czekasz 7s na zmianę wartości na ekranie. Właściwie OK masz napisaną funkcję drawPH(void). Powiel to na inne. A wywoływać poszczególne pomiary w 1, 2, 3 sekundzie, tak by w między czasie była moc obliczeniowa na inne rzeczy. Do ustawień potrzebne jest menu, temat rzeka. Trzeba też poznać dobrze biblioteki, np. domyślnie funkcja DS czeka na skończenie pomiaru i jej wywołanie trwa 750ms. Trzeba włączyć tryb asynchroniczny i samemu dbać o to kiedy pomiar zlecić, a kiedy odczytać. Całości nie przetestuję, nie mam tego sprzętu.Dzięki za sugestię co i gdzie szukać - będę dzisiaj walczył z tematem. Z tego co rozumię to funkcja delay jest najgorszym rozwiązaniem i raczej starać się jej używać jak najmniej?
Menu - i tu jest problem - bo niby jak zauważyłeś temat rzeka ale tak naprawdę nigdzie nie ma dostępnych różnych konstruktów na bazie których można by się oprzeć i coś zmajstrować (jakie komendy/funkcje, co za co odpowiada i kiedy użyć) - do tego dochodzi sterowanie takim wyświetlaczem jak ten 128x64 ST7920 i jak dla mnie problem gotowy :-).