Ostatnie poprawki programowe. Do sprawdzenia został zegar. Muszę na przestrzeni tygodnia może dwóch, zobaczyć jaka jest jego niedokładność. Następnie wyliczyć poprawkę dla zegara i wgrać ponownie. Moim wzorcem jest czas z internetu.
Pojawił się kolejny błąd projektowy. Złącze programowania jest blisko mocowania osłony obudowy. Aby w przyszłości coś zmienić, będę musiał wykręcić płytkę, lub podpiłować wtyczkę programatora. Mocowanie ekranu muszę przestawić o kilka stopni.
Jak dotąd sterowanie wyglądało tak.
Dziś już wszystko na swoim miejscu.
Sporym problem okazała się stabilna praca po USB. Kiedy wydaję polecenia dla sterownika, przez Hyperterminal, lub inny program do przesyłania danych po COMe, wszystko jest ok. Dostaję prawidłowe dane. Ramki przychodzą takie jakie powinny. Mój program napisany w C++ już ma większe problemy. Są chwilę kiedy wszystko jest ok. by po chwili dane zostały „przesunięte” w buforze. Zachowuję się to tak jakby w buforze portu zostawały jakieś śmieci, które zajmują miejsce. Jak na razie wszystkie próby wyczyszczenia bufora przed komunikacją, przez funkcję API nie działają.
C dla avr i C++ niby podobne, a jednak takie różne. Z tym programem to już nie ma takiej presji. Jest to dodatek do instalacji.
Po tygodniu używania:
Data : 9.11.2015
Stan gazomierza : 2246 m3
Stan licznika energii: 6,3 kWh
Pozdrawiam
GrzegorzM.
Zobacz czy masz na 100% dobrze ustawione parametry portu szeregowego. Kiedyś miałem podobnie, niby wszystko chodziło ale miałem mały błąd w inicjacji com. Dane spływały ale co jakiś czas trafiały się błędy.
Pozdrawiam
Sprawdzałem i testowałem różne ustawienia. Jest to udawany COM na złączu USB. Problemem okazało się, że źle wysyłam dane. znak po znaku, a nie cały bufor. Kiedy ze sterownika wysyłam cały blok danych, paczki po 256 bajtów, to komunikacja jest znacznie szybsza i nie ma problemu z buforem danych odbieranych po stronie komputera.
Pozdrawiam
GrzegorzM.