Stránka 1 z 1

SPI

Napsal: 22 říj 2017, 20:47
od TymiCZ
Ahoj,
asi bych si někde, ale nevím přesně kde, měl zjistit víc o fungování SPI protokolu.
Jde mi o to, že používám Ethernet Shield W5500 pro Web Server, který patrně využívá piny 10, 11, 12, 13
No a teď bych chtěl do sestavy přidat RFID čtečku RFID-RC522. Ta ale také využívá piny 9-13. Podle návodu zde:
http://navody.arduino-shop.cz/navody-k- ... 6-mhz.html
se piny 9 a 10 dají programově změnit na jiné. Ale co ty ostatní?
Mohu mít 2 nebo více zařízení na stejných pinech? Bude to fungovat? Nebo jak se to řeší?
Děkuji

Re: SPI

Napsal: 22 říj 2017, 21:18
od SkullKeep

Re: SPI

Napsal: 23 říj 2017, 10:04
od TymiCZ
Díky, také jsem našel užitečný popis na :
https://www.arduinotech.cz/inpage/ardui ... periferie/
Nicméně stále si nejsem jist, jak je to s SS. Tím se volí který slave komunikuje. Jenže RFID čtečka (viz odkaz v mém dotazu) nemá SS, ale má pin SDA.
A SDA by mělo být pro I2C sběrnici!
To znamená, že deska MFRC522 má obě sběrnice a k popisku pinu dali SDA a ono je to zároveň SS na SPI sběrnici?

Re: SPI

Napsal: 23 říj 2017, 12:13
od SkullKeep
No tu je jiny popsi i priklad --> http://navody.arduino-shop.cz/navody-k- ... 6-mhz.html a I2C neumi. Podle mne je SDA=SS.

Re: SPI

Napsal: 23 říj 2017, 23:31
od TymiCZ
Tak to je fór! Tak nakonec ani společné piny s ethernet shieldem řešit nemusím.

Na arduino.cc jsem našel popis ve kterém jsem zjistil toto:
Signal ..... Pin ... Pin ....... Pin
............ Uno ... Mega .... MFRC522 board
------------------------------------------------------
Reset ....... 9 ....... 5 ...... RST
SPI SS ..... 10 ...... 53 ...... SDA
SPI MOSI .. 11 ...... 51 ...... MOSI
SPI MISO .. 12 ...... 50 ...... MISO
SPI SCK ... 13 ...... 52 ...... SCK

Takže skutečně SDA je na této desce totéž jako SS a to proto, že tato deska podporuje nejen SPI sběrnici, ale i I2C a RS232. Dva posledně zmíněné ale nejsou implementovány v knihovně.

Co je ale důležité a chtělo by doplnit do námi oběma zmiňovaného návodu je to, že piny uvedené v návodu jsou platné pouze pro Arduino Uno.
Pro mega jsou to ty druhé!