tplewa napisał: Niestety ale przesiadka z Arduino na jakikolwiek mikrokontroler bedzie bolesna... a STM32 czy jakikolwiek ARM jeszcze bardziej bolesna (to sa bardzo rozbudowane procesory o duzej licznie rejestrow itd.). Niestety rezygnujac z Arduino trzeba dosc mocno poznac mikrokontroler...
tplewa napisał:
Wiesz mi bardziej chodzi o przejscie z Arduino na C/C++ i ARMy... ja najpierw proponowal bym pocwiczyc pisanie samemu w C na jakims 8 bitowcu (bez wsparcia dodatkowych bibliotek)...
Arduino jak Bascom sporo ulatwia, ale troche zatraca sie wiedze o dzialaniu mikrokontrolera... Pisze sie co prawda w C, ale nie potrzeba wiedzy o rejestrach itp. ot ma sie proste instrukcje pinMode, digitalWrite itp.
tronics napisał: Jeśli koledze rzeczywiście brakuje mocy to ARMy mogą być rozwiązaniem - ale tylko jeśli RZECZYWIŚCIE brakuje mocy, a nie efektywności jej wykorzystania.
Na arduino bardzo mi pomagają biblioteki i gotowe instrukcje zamiast operowania na rejestrach.
Gdybym miał pisać program opierając się na rejestrach procesora to w zasadzie uczyłbym się od zera.
Oczywiście jestem świadomy, że odwołując się bezpośrednio do rejestrów całość działa zdecydowanie szybciej, ale dla mnie jest to inny poziom świadomości.
Jestem inżynierem, ale nie elektronikiem i nie programistą.
Chcę wykorzystać kontroler do sterowania prostą obrabiarką (3 silniki krokowe + wyświetlacz + klawiatura + krańcówki obsługiwane przez przerwania).
Teraz śmiga to sobie przez MACH3, a chcę zrobić tak, żeby gotowy plik PLT był przesyłany do mikrokontrolera i już bez uczestnictwa komputera całość była sterowana przez kontroler.
Oczywiście jest to poziom hobby, a nie profesjonalny.
Niestety arduino uno nie posiada jednostki zmiennoprzecinkowej i w związku z tym obliczanie ścieżki, jak i rampy dla silników krokowych jest strasznie powolne.
Całość wprawdzie działa, ale bardzo wolno.
Rozumiem, że przesiadając się na arduino DUE zachowuje prostotę programowania jak dotychczas, a zyskuje znacznie szybszy procesor.
No i w już przygotowanym programie nie musiałbym dużo zmieniać.
A jak wygląda pisanie programów pod STM32?
Są dostępne jakieś darmowe biblioteki upraszczające całość do poziomu tego co jest w adruino IDE? Jestem świadomy, że jest to pójście na łatwiznę, i nie jest to optymalnie wykorzystanie możliwości procesora. Ale coś za coś.
EDIT:
tmf napisał:
Koledzy już ci wytłumaczyli jak wygląda przesiadka. Ja dodam jeszcze jedno - framework Arduino wprowadza tak koszmarne narzuty, że śmiało mogę zaryzykować stwierdzenie, że nie brakuje ci mocy, tylko ją marnujesz korzystając z frameworku Arduino. Zanim coś zmienisz (procesor), wywal cały Arduinowy kod i napisz to co chcesz w C. Zresztą i tak musisz zacząć od nauki C/C++ i podstaw mikrokontrolerów, bo nie ma Arduino na ARM - dlatego uważam, że pomimo licznych zalet, Arduino to taka sama ślepa uliczka jak Bascom.
C/C++ znam na poziomie wystarczającym do moich potrzeb, ale odwoływanie się bezpośrednio do rejestrów procesora to jak już pisałem inny poziom świadomości.
Arduino DUE wg. wszelkich mi znanych źródeł jest na ARM -
KLIK, a programuje się przez arduino IDE.
W sumie nie uważam, że to ślepa uliczka. Od czegoś trzeba zacząć i do pewnych zastosowań jest to najprostsze rozwiązanie.