Skocz do zawartości

Jak korzystać z bibliotek Arduino?


matrix0606

Pomocna odpowiedź

Mam do Was szanowni userzy pytanie które mnie trapi, mianowicie nie rozumiem działania niektórych bibliotek. O ile taka biblioteka LiquidCrystal_I2C jest prostą biblioteką o tyle dajmy na to jakaś inna typu powiedzmy DS3231 jest dla mnie nie do zrozumienia. Skąd mam wiedzieć jak jej użyć ? Słowa kluczowe w pliku KEYWORDS niewiele mi dają.
Jeżeli mamy taki plik KEYWORDS to gdzie w nim jest napisane jakiego nagłówka użyć i jak wyciągnąć z takiej biblioteki godzinę czy minuty ?
Możecie mi to wyjaśnić ? Mogą też być inne biblioteki żebym mógł zrozumieć jak to działa nie tylko na jednej bibliotece.
 

#######################################
# Syntax Coloring Map RTC
#######################################

#######################################
# Datatypes (KEYWORD1)
#######################################

ThreeWire	KEYWORD1
RtcDS1302	KEYWORD1
RtcDS1307	KEYWORD1
DS3234AlarmOne	KEYWORD1
DS3234AlarmTwo	KEYWORD1
RtcDS3234	KEYWORD1
DS3231AlarmOne	KEYWORD1
DS3231AlarmTwo	KEYWORD1
RtcDS3231	KEYWORD1
EepromAt24c32	KEYWORD1
RtcTemperature	KEYWORD1
RtcDateTime	KEYWORD1
DayOfWeek	KEYWORD1

#######################################
# Methods and Functions (KEYWORD2)
#######################################

Begin	KEYWORD2
LastError	KEYWORD2
IsDateTimeValid	KEYWORD2
GetIsRunning	KEYWORD2
SetIsRunning	KEYWORD2
GetIsWriteProtected	KEYWORD2
SetIsWriteProtected	KEYWORD2
SetDateTime	KEYWORD2
GetDateTime	KEYWORD2
GetTemperature	KEYWORD2
Enable32kHzPin	KEYWORD2
SetSquareWavePin	KEYWORD2
SetSquareWavePinClockFrequency	KEYWORD2
SetAlarmOne	KEYWORD2
SetAlarmTwo	KEYWORD2
GetAlarmOne	KEYWORD2
GetAlarmTwo	KEYWORD2
LatchAlarmsTriggeredFlags	KEYWORD2
ForceTemperatureCompensationUpdate	KEYWORD2
SetTemperatureCompensationRate	KEYWORD2
GetTemperatureCompensationRate	KEYWORD2
GetAgingOffset	KEYWORD2
SetAgingOffset	KEYWORD2
GetMemory	KEYWORD2
SetMemory	KEYWORD2
GetTrickleChargeSettings	KEYWORD2
SetTrickleChargeSettings	KEYWORD2
AsFloatDegC	KEYWORD2
AsFloatDegF	KEYWORD2
AsCentiDegC	KEYWORD2
Print	KEYWORD2
Year	KEYWORD2
Month	KEYWORD2
Day	KEYWORD2
Hour	KEYWORD2
Minute	KEYWORD2
Second	KEYWORD2
DayOfWeek	KEYWORD2
TotalSeconds	KEYWORD2
TotalSeconds64	KEYWORD2
TotalDays	KEYWORD2
DayOf	KEYWORD2
ControlFlags	KEYWORD2

#######################################
# Constants (LITERAL1)
#######################################

DS3231SquareWaveClock_1Hz	LITERAL1
DS3231SquareWaveClock_1kHz	LITERAL1
DS3231SquareWaveClock_4kHz	LITERAL1
DS3231SquareWaveClock_8kHz	LITERAL1
DS3231SquareWavePin_ModeNone	LITERAL1
DS3231SquareWavePin_ModeClock	LITERAL1
DS3231SquareWavePin_ModeAlarmOne	LITERAL1
DS3231SquareWavePin_ModeAlarmTwo	LITERAL1
DS3231SquareWavePin_ModeAlarmBoth	LITERAL1
DS3231AlarmOneControl_HoursMinutesSecondsDayOfMonthMatch	LITERAL1
DS3231AlarmOneControl_OncePerSecond	LITERAL1
DS3231AlarmOneControl_SecondsMatch	LITERAL1
DS3231AlarmOneControl_MinutesSecondsMatch	LITERAL1
DS3231AlarmOneControl_HoursMinutesSecondsMatch	LITERAL1
DS3231AlarmOneControl_HoursMinutesSecondsDayOfWeekMatch	LITERAL1
DS3231AlarmTwoControl_HoursMinutesDayOfMonthMatch	LITERAL1
DS3231AlarmTwoControl_OncePerMinute	LITERAL1
DS3231AlarmTwoControl_MinutesMatch	LITERAL1
DS3231AlarmTwoControl_HoursMinutesMatch	LITERAL1
DS3231AlarmTwoControl_HoursMinutesDayOfWeekMatch	LITERAL1
DS3231AlarmFlag_Alarm1	LITERAL1
DS3231AlarmFlag_Alarm2	LITERAL1
DS3231AlarmFlag_AlarmBoth	LITERAL1
DS1302RamSize	LITERAL1
DS1302Tcr_Disabled	LITERAL1
DS1302TcrResistor_2KOhm	LITERAL1
DS1302TcrResistor_4KOhm	LITERAL1
DS1302TcrResistor_8KOhm	LITERAL1
DS1302TcrDiodes_One	LITERAL1
DS1302TcrDiodes_Two	LITERAL1
DS1302TcrStatus_Enabled	LITERAL1
DS1302TcrStatus_Disabled	LITERAL1
DS1307SquareWaveOut_1Hz	LITERAL1
DS1307SquareWaveOut_4kHz	LITERAL1
DS1307SquareWaveOut_8kHz	LITERAL1
DS1307SquareWaveOut_32kHz	LITERAL1
DS1307SquareWaveOut_High	LITERAL1
DS1307SquareWaveOut_Low	LITERAL1
DS3234SquareWaveClock_1Hz	LITERAL1
DS3234SquareWaveClock_1kHz	LITERAL1
DS3234SquareWaveClock_4kHz	LITERAL1
DS3234SquareWaveClock_8kHz	LITERAL1
DS3234SquareWavePin_ModeNone	LITERAL1
DS3234SquareWavePin_ModeBatteryBackup	LITERAL1
DS3234SquareWavePin_ModeClock	LITERAL1
DS3234SquareWavePin_ModeAlarmOne	LITERAL1
DS3234SquareWavePin_ModeAlarmTwo	LITERAL1
DS3234SquareWavePin_ModeAlarmBoth	LITERAL1
DS3234AlarmOneControl_HoursMinutesSecondsDayOfMonthMatch	LITERAL1
DS3234AlarmOneControl_OncePerSecond	LITERAL1
DS3234AlarmOneControl_SecondsMatch	LITERAL1
DS3234AlarmOneControl_MinutesSecondsMatch	LITERAL1
DS3234AlarmOneControl_HoursMinutesSecondsMatch	LITERAL1
DS3234AlarmOneControl_HoursMinutesSecondsDayOfWeekMatch	LITERAL1
DS3234AlarmTwoControl_HoursMinutesDayOfMonthMatch	LITERAL1
DS3234AlarmTwoControl_OncePerMinute	LITERAL1
DS3234AlarmTwoControl_MinutesMatch	LITERAL1
DS3234AlarmTwoControl_HoursMinutesMatch	LITERAL1
DS3234AlarmTwoControl_HoursMinutesDayOfWeekMatch	LITERAL1
DS3234AlarmFlag_Alarm1	LITERAL1
DS3234AlarmFlag_Alarm2	LITERAL1
DS3234AlarmFlag_AlarmBoth	LITERAL1
DS3234TempCompensationRate_64Seconds	LITERAL1
DS3234TempCompensationRate_128Seconds	LITERAL1
DS3234TempCompensationRate_256Seconds	LITERAL1
DS3234TempCompensationRate_512Seconds	LITERAL1
DayOfWeek_Sunday	LITERAL1
DayOfWeek_Monday	LITERAL1
DayOfWeek_Tuesday	LITERAL1
DayOfWeek_Wednesday	LITERAL1
DayOfWeek_Thursday	LITERAL1
DayOfWeek_Friday	LITERAL1
DayOfWeek_Saturday	LITERAL1

 

Link do komentarza
Share on other sites

@matrix0606 w przypadku takich bibliotek są 3 łatwe drogi:

  1. Sprawdzenie dokumentacji (plik readme itd).
  2. Sprawdzenie czy autor nie dołączył przykładów.
  3. Znalezienie innych projektów w sieci, w których użyto tej biblioteki.

Jeśli żadna z tych metod nie przyniesie skutku to powinna Ci się już zapalić czerwona lampka, bo to trochę podejrzane - ktoś wrzucił bibliotekę, ale nie ma o niej nigdzie słowa? Coś tam musi nie grać 🙂 Jeśli jednak bardziej Ci zależy to należy przejść do samodzielnej analizy plików z kodem i plików nagłówkowych. Czasami są tam komentarze, które pozwalają domyślić się jak należy wykorzystać bibliotekę. Dobrym początkiem jest chociażby sprawdzenie jakie funkcje są dostępne w ramach tej biblioteki - jej nazwy mogą być dużą podpowiedzią.

  • Lubię! 2
Link do komentarza
Share on other sites

Zarejestruj się lub zaloguj, aby ukryć tę reklamę.
Zarejestruj się lub zaloguj, aby ukryć tę reklamę.

jlcpcb.jpg

jlcpcb.jpg

Produkcja i montaż PCB - wybierz sprawdzone PCBWay!
   • Darmowe płytki dla studentów i projektów non-profit
   • Tylko 5$ za 10 prototypów PCB w 24 godziny
   • Usługa projektowania PCB na zlecenie
   • Montaż PCB od 30$ + bezpłatna dostawa i szablony
   • Darmowe narzędzie do podglądu plików Gerber
Zobacz również » Film z fabryki PCBWay

(edytowany)

Znalazłem miejsce gdzie "chowają się" biblioteki wbudowane w VisualStudioCode w linuxie. Wystarczy tam skopiować biblioteki i będą (powinny być) wszędzie, dla każdego projektu.
Otóż "chowają się" one w katalogu

/home/"nazwa użytkownika"/.platformio/packages/framework-arduino-avr/libraries

 

Patrzyłem trochę tą bibliotekę RTCLib od Adafruit i nie jest taka trudna. Muszę podpiąć DS3231 i zerknąć jak to będzie działać.

Edytowano przez matrix0606
Link do komentarza
Share on other sites

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!

Anonim
Dołącz do dyskusji! Kliknij i zacznij pisać...

×   Wklejony jako tekst z formatowaniem.   Przywróć formatowanie

  Dozwolonych jest tylko 75 emoji.

×   Twój link będzie automatycznie osadzony.   Wyświetlać jako link

×   Twoja poprzednia zawartość została przywrócona.   Wyczyść edytor

×   Nie możesz wkleić zdjęć bezpośrednio. Prześlij lub wstaw obrazy z adresu URL.

×
×
  • Utwórz nowe...

Ważne informacje

Ta strona używa ciasteczek (cookies), dzięki którym może działać lepiej. Więcej na ten temat znajdziesz w Polityce Prywatności.