(18-02-2020, 12:47)Agregacik napisał(a): 1. Nie jestem biegły w te klocki. Przygodę z programowaniem zacząłem ze dwa lata temu.
2. Rozwijam swoje umiejętności na tyle na ile jest mi to potrzebne do moich projektów, o kurcze jak to szumnie brzmi. "Szkolę" się raczej na przykładach adaptując je do swoich celów.
Gotowe biblioteki są pewnym rozwiązaniem dla takich jak ja, którzy nie mając większego pojęcia o języku programowania np C++ , udaje się wykonać coś działającego. Zdaję sobie sprawę, że biblioteki nie są doskonałe i w połączeniu z innymi mogą stwarzać problemy, czego dowodem jest ten wątek.
3. Rozszerzenia portów użyłem w tym przypadku z konieczności. Wykonane urządzenie na arduino nano zajęło wszystkie jego porty. W pierwotnym założeniu to wystarczyło, ale pojawiły się okoliczności że potrzebuję dodatkowych 2 portów do sterowania innym urządzeniem i stąd pomysł rozszerzenia.
4. Dlaczego użyłem softwareseriala, bo łatwiej jest wymieniać oprogramowanie jak nie jest on zajęty i w przypadku problemów można na niego "wyrzucać" sobie "markery" z programu. Dodatkowo w innych "projektach" nie stwarzał problemów.
ad 1.
Jeszcze kilka lat i będziesz pisał dobre programy.
2.
Nie wzoruj sie na bibliotekach arduino. Są pisane beznadziejnie. Nie widziałem ani jednej napisanej dobrze. Na arduino to nawet miganie diodą potrafi być napisane źle.
3.
Czyli jak pisałem wcześniej, źle dobrany mikrokontroler. Wybieraj zawsze z zapasem.
4.
Soft serial, zwłaszcza na AVR + arduino to zły wybór. Arduino uwielbia zawieszać przerwania na bardzo długo. Arduino jest złą platformą do nauki jak niegdyś Basic. Zanim poznałem Arduino, myślałem, że co najgorsze w programowaniu i budowie CPU jest związane z Billem G, poczynając od Basic (najgorszy używany jeszcze język programowania), poprzez skradzionego i nieudolnie przerobionego DOS do najgorszego pseudosystemu Windows do USB, którego implementacja na Windzie jest najgorsza z możliwych.
Arduino przebiło chyba to wszystko. Dobry przykład jak nie budować urządzeń i pisać softu. Od strony sprzętu wybór złego mikrokontrolera. Pierwotnie był mega8, naturalnie bez debugera, niczym jak w latach 80 I8051.Zmiana na mega328 zły kierunek. Mimo, że ma debuger arduino raczy tego nie widzieć. Gdyby go użyć, to mega328 ma DW więc dawniej drogo i kiepsko, DW jest kapryśne. Lepszy byłby mega z JTAG. Interfejs dobry i tani ale AVR z JTAG jest kilka razy droższy niż ARM. Z punktu widzenie "programisty" arduino co za różnica ARM czy AVR? Taka, że ARM jest lepszy i tańszy ale nie wiedzieć czemu początkujący brną w AVR
Zainteresuj sie tanimi i co ważne oryginalnymi płytkami NUCLEO/DISCOVERY ze stajni STM. Takie badziewiarski oryginalne arduino uno kosztuje ok 90zł. Oryginalnye NUCLEO jakieś 1000 razy lepsze od uno, 50-60zł. Co ważne, arduino do CV raczej nie wpiszesz, tak jak i Bascom (chyba, że chcesz aby Cię wyśmiano) co innego ARM.
AVR, tak jak i Bascom, przyszłości nie ma . Przyszłość uC, czy się to komuś podoba czy nie, należy do 32-bit i C. Jak najszybciej zejdź ze ścieżki zwanej arduino.