Aktywne Wpisy
![RiverStar](https://wykop.pl/cdn/c0834752/f6c756e11d796474497ddf3ad382db6f794057ce6dcc6289efe70c351cb14140,q60.jpg)
RiverStar +17
Wy bardziej team ketchup czy majonez? #jedzzwykopem #gotujzwykopem
![RiverStar - Wy bardziej team ketchup czy majonez? #jedzzwykopem #gotujzwykopem](https://wykop.pl/cdn/c3201142/609bb49ecf16f5d72880c714b4025f2762a9d98228ba790cbdae3e319546de18,w150.jpg?author=RiverStar&auth=3f1ae300328720d62dda731a203dfb88)
![cambiasso](https://wykop.pl/cdn/c3397992/cambiasso_k0yWPz6yuZ,q60.jpg)
cambiasso +219
Skopiuj link
Skopiuj linkWykop.pl
Podróże
Gospodarka
Ukraina
Technologia
Motoryzacja
Sport
Rozrywka
Informacje
Ciekawostki
2. Jeden expander jeszcze ok, ale co jeżeli muszę podłączyć aż 3?
3. Widziałem w MCP23017 porty INT A i INT B(to są te od przerwań, tak?). W takim razie jak wygląda przerwanie podłączone do expandera zamiast do µC? Przecież jest on podłączany do analoga, a nie pinu od przerwań.
4. Ogólna pomoc adresami, ustalaniem stanów itd. będzie mi potrzebna
#kiciochpyta #elektronika #arduino #expander #ekspander #porty
No tak, racja. Przepraszam, jestem już dość zmęczony :<
@komeniusz @anybetter @wik5
Pytania dodane do głównego posta w spoilerze.
jakis example obczaj
w skrocie podlaczasz a z poziomu arduino masz poprostu dodatkowe piny dostepne
Znalazłem taką stronkę: http://coronax.wordpress.com/2012/11/18/arduino-port-expansion/
Na razie czytam...
http://pl.wikipedia.org/wiki/Elektronika
@Wyrewolwerowanyrewolwer:
1. zazwyczaj część adresu kostki jest stała a część zależy od podłączenia 3 pinów do masy lub zasilania. W tym wypadku możesz podłączyć osiem ekspanderów. Jak to jest dokładnie pewnie jest w DS...
2-> 1
3. Ekspander generuje przerwanie (zależy jak go skonfigurujesz), możesz to podłączyć do pinu uC i skonfigurować w uC jako external interrupt albo zamiast adresować kostkę i czytać bajt
Co do 1:
Jak to jest z tym adresem?
Zazwyczaj znajduję i adresowanie wygląda tak: 0x20
Jednak znalazłem stronkę: http://coronax.wordpress.com/2012/11/18/arduino-port-expansion/
I facet adresuje tak:
int addr1 = 0b00100000;
int addr2 = 0b00100001;
Czy jest to uniwersalne, czy zależne od µC, expandera itd?
S OP W
gdzie:
S - start condition - tu specyfikacja I2C, jak coś to mogę opisać.
OP - opcode - to co cię interesuje czyli za dataszitem
0 1 0 0 A2 A1 A0 czyli siedem bitów - ósmy mówi o tym, czy będziesz do kostki zapisywał dane
Z datasheetami niezbyt sobie radzę.
Rozumiem, że operując na 3 bitach ustawiam jego adres, tak?
Z tej stronki kod:
// Chip addresses are 0100 + 3 bits of unique address
int addr1 = 0b00100000;
int addr2 = 0b00100001;
Czyli stały jest: 0b00100, a 3 ostatnie zależą od podłączenia a0, a1 i a2 do masy tak?
int addr2 = 0b00100001;
To w ogóle nie zadziała, poza tym masz tu nadawanie i odbieranie danych z kostki.
Ok. Załapałem. Dzięki
Adresu używam:
0100A2A1'A0'RW
RW odpowiada za wczytywanie z pinów i podawanie z pinów?(input/output)?
Ale ten bit mnie nie interesuje. Tzn. mam jakoś się do niego podłączać? Raczej nie, hm?
Czy jeżeli expander ma służyć tylko i wyłącznie do wyprowadzania na porty lub zczytywania stanów mam to jakoś ustawić?
Jak chcesz tylko ustawiać lub zerować linie to musisz do takiego typu pracy przygotować układ po uruchomieniu. Musisz wysłać adres z W, podać numer (adres) rejestru konfiguracyjnego, podać wartość jaka ma tam trafić, jeśli trzeba to taką sekwencję powtórzyć. Generalnie nie będziesz musiał czytać nic z kostki.
Ale jeśli będziesz musiał, to musisz wysłać OP z R, wysłać jeszcze