Witam Odczyt w locie i wyswietlenie na lcd dziala, ale strasznie dlugo to trwa. Macie jakies pomysly? Druga sprawa jest taka, czy da sie grafike zapisac na zewnetrznej pamieci?
|
|||
Mirley - Elektronika i Programowanieprojekty, programy.... wszystko o elektronice |
CiasteczkaStrona używa cookies (ciasteczek). Jeśli nie chcesz, by te pliki były zapisywane na Twoim dysku zmień ustawienia swojej przeglądarki. Czym są cookies? LogowaniePolecane StronyPopularne Dzisiaj
|
|
mirley (c) 2007-2020 Jeżeli chcesz pomóc w rozwoju witryny kliknij tutaj |
wydaje się proste ale tylko pobieżnie
Trzeba dobrze temat rozkminić i optymalny algorytm wymyślić.
powiedz mi ile wyników jednorazowo na lcd potrzebne jest.
?C ma skończone zasoby, zapis i odczyt z pamięci EEPROM jest jak wiesz powolny, z tego tytułu wynikają ograniczenia.
Przejdźmy do konkretów...
mało napisałeś jak co robisz więc moja odpowiedź będzie taka jaka będzie ;-)
1. software - próbowałbym odczytywać tylko te dane, które mają na wyświetlaczu wylądować - pewno będzie ich mniej wtedy ...
2. software - spróbuj ograniczyć ilość danych w eeprom np czy konieczne są wszystkie daty i godziny jeżeli interwał zapisu jest stały? Może wystarczy startowy zapis stempla czasu, a potem sensowny algorytm wyliczający datę/czas kolejnych próbek?
3. software - sprawa może banalna dla szybkości wykonywania kodu ogranicz zmienne większe niż byte. Wiesz dokładnie co kuleje - może obliczenia są czasochłonne, bo używasz typów du i czterobajtowych?
3. hardware - zmień EEPROM na inny typ który jest szybszy dla przykładu FRAM tu takie nowoczesne modele MB85RS1MT i MB85RS2MT 10x pojemniejsze od swoich poprzedników, ale zwróć uwagę na ich żywotność pod względem cykli zapisów.
Na tą chwilę więcej uwag nie mam.
"Cierpliwym być musisz, by wiedzę zgłębiać tajemną, gdyż ciemna strona mocy niszczącą i silną jest.".
re:wydaje się proste ale tylko pobieżnie
ok, robie barometr, odczyty maja byc co godzine, na razie sa co minute, testuje stabilnosc.
Kod troche zamieszany, ale moze dojdziesz co do czego, duzo rzeczy jeszcze jest do zrobienia, duzo jest nie użytych funkcji.
Na razie dziala caly czas w programie 2, wiec wyswietla na zmiane godzina, temperatury , wilgotnosc i cisnienie.
re:wydaje się proste ale tylko pobieżnie
Wklejam kod:
mozecie to poprawic, by wygladalo ok?
Nie wiem jak wkleic dobrze kod, by wygladal jak bascom.
Na razie utknalem na funkcji ryswykres, czas rysowania takiego wykresu jest za dlugi..
Chyba za dlugi kod do analizowania, opisze co i jak.
Dzialanie jest proste, odczyt czujnikow, zapamietanie odczytow, rozebranie na pojedyncze cyfry, przypisanie grafik cyfr do pojedynczych cyfr, wyswietlenie na graficznym lcd.
Zapis do komorek pamieci od 0 adresu do 31920.
Uklad dziala stabilnie juz od ponad miesiaca.
Zapis do pamieci wyglada tak, zdjete rs-em:
adrespam = 97 Bbyte = 0061 Danaw = 0037 55 danal = 37 danah = 00
adrespam = 98 Bbyte = 0062 Danaw = 0000 0 danal = 37 danah = 00
logger-zapis danych do pamieci------------------------------
adrespam = 99 Bbyte = 0063 Danaw = 00E6 230 danal = E6 danah = 00
adrespam = 100 Bbyte = 0064 Danaw = 0000 0 danal = E6 danah = 00
logger-zapis danych do pamieci------------------------------
adrespam = 101 Bbyte = 0065 Danaw = 005F 95 danal = 5F danah = 03
adrespam = 102 Bbyte = 0066 Danaw = 0003 3 danal = 5F danah = 03
logger-zapis danych do pamieci------------------------------
adrespam = 103 Bbyte = 0067 Danaw = 0001 1 danal = 01 danah = 04
adrespam = 104 Bbyte = 0068 Danaw = 0004 4 danal = 01 danah = 04
logger-zapis danych do pamieci------------------------------
adrespam = 105 Bbyte = 0069 Danaw = 0014 20 danal = 01 danah = 04
logger-zapis danych do pamieci------------------------------
adrespam = 106 Bbyte = 006A Danaw = 000C 12 danal = 01 danah = 04
logger-zapis danych do pamieci------------------------------
adrespam = 107 Bbyte = 006B Danaw = 0016 22 danal = 01 danah = 04
logger-zapis danych do pamieci------------------------------
adrespam = 108 Bbyte = 006C Danaw = 0004 4 danal = 01 danah = 04
dane dapisane do pamieci---------------------------------------------
th 55
Dtempbmp 230
hh 863
Dcis 1025
Ddzien 20
Dmies 12
Dgodz 22
Dmin 4
adrespam, adres komorki 24c256
Bbyte to dana, jaka zapisuje
danal, danah to zapis zmiennej word lub long.
pod zapisem widac co wpisal do komorek.(th, Dtempbmp,hh itd)oraz wartosci.
widac ze zaczal od 97 komorki, konczy na 108, jest 12 komorek do zapisu.
nastepny zapis jest od 109 (akurat tak wyciete z loga).
Po zaniku napiecia lub resecie odczytuje komorke 32760 i 32761, gdzie zapisuje ostatni zapisany adres.(program Ostadres)
:-)
Dobrze że wpadłeś na sprawę oczywistą - trochu tego jest, i opis nawet szczegółowy jak najbardziej wskazany.
Nad okienkiem edycji wypowiedzi masz takie kolorowe ikonki, zapoznaj się z ich funkcjonalnością - na pierwszy ogień bierz taki kwadrat z napisem BAS ;-D
Generowania wykresu trochu trwa jak zauważyłeś bo są tam pewno obliczenia "paskudne". Zawsze możesz pogonić zegar systemowy, nie jest to rozwiązanie ale doraźna uwaga.
I takim optymistycznym akcentem Tobie i całej forumowej braci spokoju ducha, stalowych nerwów, samych udanych projektów, które będą działały za pierwszym odpaleniem - tak jak sobie to konstruktor zażyczył, coraz tańszych i lepiej dostępnych podzespołów, takie drobne życzenia składa kaktus z okazji tegorocznych Świąt Bożego Narodzenia.
"Cierpliwym być musisz, by wiedzę zgłębiać tajemną, gdyż ciemna strona mocy niszczącą i silną jest.".
wykres
Niestety nie udalo mi sie nic sensownego wymyslic, na razie dziala to na zasadzie wyswietlania wynikow w kolko..
Wyglada to tak:
http://www.fotosik.pl/u/wchpikus/album/1565830
Zlozone na uniwersalnej, wiec prosze sie tym nie przejmowac:)
;-)
Ładnie, nawet bardzo.
"Cierpliwym być musisz, by wiedzę zgłębiać tajemną, gdyż ciemna strona mocy niszczącą i silną jest.".