Szanowni koledzy, byłbym wdzięczny za jeszcze trochę pomocy przy tłumaczeniu tej biblioteki.
Mam w swoim projekcie bibliotekę do obsługi TWI od Mirka i za jej pomocą chcę wykonywać tę transmisję.
W kodzie do obsługi MPC23017 mam taką oto funkcję:
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.
i wyczuwam, że jest to coś w rodzaju Mirkowego TWI_read() Podobnie brzmi funkcja
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.
Na czas dalszych rozwarzań przyjmijmy że można to tak zamienić.
I tak zamieniałem, aż do czasu napotkania takiej funkcji :
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.
Chodzi o jej przedostatnią i ostatnią linijkę bitWrite(regValue,bit,pValue); writeRegister(regAddr,regValue); gdzie podaje się dwa i trzy argumenty: Adres bit i wartość . Kiedy porównać to do Mirkowej funkcji TWI_write, tam podaje się tylko jeden argument. Istnieje możliwość przekształcenia tych funkcji tak aby działały z Mirka biblioteką do TWI? Z tego co widzę to funkcja którą opisuję wyżej służy do odczytu i porównania stanu portów układu, i jestem pewny, że da się to zrealizować przy użyciu Mirkowego TWI, ale trochę wiedzy mi brakuje na temat tego co się w tych bibliotekach tak na prawdę dzieje, żeby móc samemu to przekształcić. Może ktoś rozjaśnić?
Cała biblioteka w C++ do obsługi układu znajduje się tu:
https://github.com/adafruit/Adafruit-MC ... no-LibraryEch Widzę teraz, że funkcja writeRegister potrzebuje wartości i adresu a funkcja Mirka tylko jednej zmiennej o nazwie "bajt". W takim razie pytanie będzie brzmiało Skąd funkcja TWI_write od Mirka wie gdzie zapisać ten bajt? w znaczeniu pod jaki adres go skierować ?