ethanak Grudzień 21, 2020 Udostępnij Grudzień 21, 2020 8 minut temu, marek1707 napisał: te 3 bajty (i parę innych, np. kalibracja wewn. oscylatora RC) są w nowszych wersjach chipów dostępne także dla programu Kurka wodna... zawsze człowiek się czegoś nowego uczy 🙂 2 Cytuj Link do komentarza Share on other sites More sharing options...
alarmb Grudzień 21, 2020 Autor tematu Udostępnij Grudzień 21, 2020 2 godziny temu, Marooned napisał: Może zainteresuj się takimi rozwiązaniami jak Firmata? Wrzucasz na ardu i możesz nim sterować. Może takie podejście ułatwi Ci życie? Niby tak, ale nie lubię tak ułatwiać sobie życia. Wolę rozwiązać nurtujący mnie problem. 1 godzinę temu, marek1707 napisał: To może jeszcze warto wspomnieć, że procesory AVR mają unikalne sygnatury. To 3-bajtowy ciąg binarny, po zawartości którego programator odróżnia jeden typ procka od drugiego i nie będzie chciał zaprogramować podłączonej atmegi328, jeśli w parametrach dostał "atmega2560". A te 3 bajty (i parę innych, np. kalibracja wewn. oscylatora RC) są w nowszych wersjach chipów dostępne także dla programu. Możesz to sobie w setup() odczytać i co prawda nie identyfikuje to jednoznacznie płytki Arduino (bo atmega 328 może siedzieć i na UNO i na MINI PRO i na Nano itd..) to jednak daje pojęcie o "wielkości" sprzętu - na pewno odróżnia duże Mega od tworów UNO-podobnych niezależnie od kompilatora i innych programistycznych czarów. O ile pamiętam, starsze generacje (typu mega8) niestety nie dawały możliwości odczytu sygnatury z programu a tylko z zewnątrz, programatorem. Bardzo cenne informacje. Tylko jak te bajty odczytać w Setup() ? Cytuj Link do komentarza Share on other sites More sharing options...
ethanak Grudzień 21, 2020 Udostępnij Grudzień 21, 2020 5 minut temu, alarmb napisał: Bardzo cenne informacje. Tylko jak te bajty odczytać w Setup() ? Dopiero zacząłem czytać, ale znalazłem coś takiego: https://www.nongnu.org/avr-libc/user-manual/group__avr__boot.html#gaf375d2543ba38dc56697b4f4bc37a717 Warto by było sprawdzić... ale teraz nie mam czasu. Tak sobie pomyślałem, że dla odróżnienia UNO/Mega można zapytać o wolną pamięć (jeśli pokaże ponad 2 kB to na 100% nie UNO). 1 Cytuj Link do komentarza Share on other sites More sharing options...
Pomocna odpowiedź
Dołącz do dyskusji, napisz odpowiedź!
Jeśli masz już konto to zaloguj się teraz, aby opublikować wiadomość jako Ty. Możesz też napisać teraz i zarejestrować się później.
Uwaga: wgrywanie zdjęć i załączników dostępne jest po zalogowaniu!