31-03-2020, 20:59
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).
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).
Miło być decenianym https://buycoffee.to/kaczakat