Liczba postów: 877
Liczba wątków: 19
Dołączył: Jun 2018
Reputacja:
42
Ja używam PlatformIO bo mnie to już dawno wkurzyło, tam mam choć pewny dostęp do biblioteki i jakie dam..
Arduino zostało wymyślone po to, by robić dobrze jedną prostą rzecz – migać diodą.
Liczba postów: 18
Liczba wątków: 0
Dołączył: Mar 2020
Reputacja:
0
Wystarczy skopiować bibliotekę do projektu i zamienić nawiasy <> na "". Dzięki temu nie ma problemu z nowszymi "lepszymi" wersjami bibliotek.
Liczba postów: 356
Liczba wątków: 5
Dołączył: Aug 2019
Reputacja:
28
31-03-2020, 20:46
(Ten post był ostatnio modyfikowany: 31-03-2020, 20:47 przez Agregacik.)
He he, nie tak łatwo zmienić, naprawić czego nie widzę. Czy wpiszę <> czy "" to i tak się kompiluje. a biblioteki nie widzę na komputerze. No ale pewnie jestem cienki bolek.
Liczba postów: 18
Liczba wątków: 0
Dołączył: Mar 2020
Reputacja:
0
Jak widzisz używanie arduinoide nie jest dobrym pomysłem, zaimportuj projekt do as.
Liczba postów: 2,367
Liczba wątków: 0
Dołączył: Oct 2017
Reputacja:
240
Jak będziesz miał w tym samym folderze bibliotekę to powinno się skompilować w pierwszej kolejności, ale obawiam się że to może nie dotyczyć tych wbudowanych, a tylko dodawane.
Niektóre urządzenia pracują stabilnie jedynie na 100kHz, niektóre biblioteki podbijają do 400kHz i pozostałe urządzenia potrafią się zawiesić, bo już taka prędkość jest potem dla wszysktich. Biblioteki używane w Arduino to standardowe biblioteki C używane kiedyś w AVR, niekiedy są użyte te wprost od Atmela czy Microchipa. Można sobie dodać WDT, sprawdzanie stanu podciągnięcia magistrali I2C przed inicjalizacją magistrali, można czujniki zasilić z pinu uC i tak je zresetować, można wszystkie na I2C podłączyć z wykorzystaniem tranzystora i tak im zrobić reset, można też znaleźć inne biblioteki, wystarczy podmienić pliki twi. Warto mieć w warsztacie arduinowca coś poza śrubokrętem, np. klon analizatora Saleae i popatrzeć jak faktycznie pracuje magistrala. Pewnie możliwości jest wiele i każdy z czasem będzie robił to coraz lepiej. Mnie na razie wystarcza jak jest.
Biblioteki są w dwóch miejscach, jedno to katalog instalacji Arduino w Program Files, a drugi to ...\appdata\Local\Arduino15\ i tu każdy core ma swoje biblioteki I2C. Można sobie podłączyć różne rdzenie i popatrzeć czy to po stronie bibliotek leży problem, np. ESP32, STM, AVR, AVR z MINI CORE, AVR z MIGHTYCORE, AVR z MEGACOREX gdzie są najnowsze AVR serii 0, np. Atmega3208 z trzema UART i 4kb RAM (tu już jest TWI sygnowane przez MICROCHIP).
Liczba postów: 877
Liczba wątków: 19
Dołączył: Jun 2018
Reputacja:
42
31-03-2020, 21:22
(Ten post był ostatnio modyfikowany: 31-03-2020, 21:23 przez Jarewa0606.)
Tu znalazłem folder AppData od razu waliło błędem po usunięciu.
Arduino zostało wymyślone po to, by robić dobrze jedną prostą rzecz – migać diodą.
Liczba postów: 356
Liczba wątków: 5
Dołączył: Aug 2019
Reputacja:
28
01-04-2020, 11:33
(Ten post był ostatnio modyfikowany: 01-04-2020, 11:34 przez Agregacik.)
Rozpoczynając powyższy temat miałem nadzieję, że ktoś spotkał się z takim przypadkiem jak opisałem. Widzę jednak, że nie.
Tak jak pisałem problemem jest biblioteka wire. Przy wykorzystaniu programowej biblioteki do I2C nie udało mi się "zawiesić" "arduino".
Programuję na dwóch komputerach. Stacjonarnym trochę z przyzwyczajenia i laptopie, z którym podchodzę już do konkretnych urządzeń.
Na stacjonarnym wyszukując eksploratorem plików usunąłem (przeniosłem) wszystkie foldery zawierające pliki wire.h na pena a i tak programy wykorzystujące bibliotekę wire się kompilują. Dziwne no ale się poddałem w poszukiwaniach.
Z kolei na laptopie odnalazłem plik wire.h i po jego usunięciu programy już się nie kompilują. Wymieniłem bibliotekę wire na niby najnowszą, ale problem "zawieszania" pozostał.
Na razie pewnie pozostawię tą sprawę. Może w przyszłości ktoś rozwiąże ten problem, ale wątpię aby się komuś chciało bo najpierw musi o tym wiedzieć.
Dziękuję wszystkim za podpowiedzi i porady
Pozdrawiam