Mega2560 pro wolna praca programu z u8glib - Wersja do druku +- Arduino Polska Forum (https://forum.arduinopolska.pl) +-- Dział: Korzystanie z Arduino (https://forum.arduinopolska.pl/dzial-korzystanie-z-arduino) +--- Dział: Piaskownica (https://forum.arduinopolska.pl/dzial-piaskownica) +--- Wątek: Mega2560 pro wolna praca programu z u8glib (/watek-mega2560-pro-wolna-praca-programu-z-u8glib) |
Mega2560 pro wolna praca programu z u8glib - jarsek - 15-03-2019 Kupilem płytkę Mega 2560 pro i podłączyłem do niej duży 5" lcd mono 240 x 128 na sterowniku T6963c . Kod: U8GLIB_T6963_240X128 u8g(49, 48, 47, 46, 45, 44, 43, 42, 37, 36, 35, 34, 33); Kod PHP: if (millis() - lastmillis >= 1000 ){ // odliczanie sekund stopera Sprawdzane mk avrcalculatorem: LOW : 0xFF HIGH :0xD9 na 0xD8 nie wgrywa programu EXTENDED: 0x FD zewnętrzny kwarc > 8Mhz podział przez 8 wyłączony RE: Mega2560 pro wolna praca programu z u8glib - kaczakat - 15-03-2019 Wyświetlacz po prostu jest stary, nie wiem jakiej prędkości od niego oczekujesz. Mega w Arduino może mulić bardziej niż w C AVR, pisząc program na Atmegę do komunikacji równoległej zrobiłbyś to tak by wszystkie piny do 8 linii były na jednym porcie, wtedy jednym bajtem w kilka cykli zegara wysyłasz całość. W Arduino wszystkie piny są przemapowane i musiałbyś sobie sprawdzić czy nie korzystasz z 3 czy 4 portów, a dodatkowo użycie uniwersalnych oznaczeń pinów to już X x wolniejszy kod – porównaj sobie czas migania led z digitalWrite i przesunięciami bitów na porcie. Ale jest łatwiej i nie musisz wiedzieć jakie porty masz, coś za coś. Jak Cię interesuje ile coś trwa to można użyć funkcji micros() przed i po danej funkcji, przypisać do zmiennych, odjąć i wiesz. A jeszcze lepiej wystawić wartość przeciwną na jakiś pin i po funkcji wrócić, czas zmierzyć analizatorem logicznym lub oscyloskopem. Jak pętla loop trwa ponad sekundę to oczywiście nic nie będzie responsywny program. Co do bootloadara to znalazłbyś tu na forum wskazówki jak to zrobić. Arduino czasami ma dziwne wersje AVRDUDE i nie zgrywa się z dziwnymi sterownikami USBASP. Oczywiście nie musisz wgrywać bootloaderem, ale wypalenie bootloadera to przede wszystkim prawidłowo ustawienie fuse płytki zgodnie z oczekiwaniami kompilatora. Ściągnij sobie AVR LAB ++ 2.4, on ma wrzucone AVR DUDE działający z Arduino (MK ma jakąś starą wersję i jeszcze zmodowaną, by ktoś widział swoje IMIĘ przy wgrywaniu ), jak LAB odczytuje Ci OK przez programator to zlokalizuj używaną wersję AVR DUDE przez Arduino (podaje to w komunikatach przy wgrywaniu, binarka i config są w różnych katalogach), podmień na tą z AVR LAB. Albo zmień sterowniki, poszukaj ZADIG, są trzy wersje do wyboru. Funkcja mills() też trwa kilka us, może lepiej to zrobić tak: Kod: uint32_t currentmillis=millis(); //moga tez byc globalne RE: Mega2560 pro wolna praca programu z u8glib - jarsek - 15-03-2019 Dzięki za obszerną odpowiedź.Dało to mi dużo do myślenia.Będę robił doświadczenia z tym lcd bo to jest jedyny który widać w pełnym słońcu. I jeszcze pytanie skąd można pobrać tego AVR Lab++ oprócz elektrody na której nie mam punktów.. RE: Mega2560 pro wolna praca programu z u8glib - kaczakat - 15-03-2019 AVR LAB można pobrać z forum autora programu: https://rctruck.pl/forum/download/file.php?id=35515. |