Përmbajtje:

Lidhja e dy OOBoards së bashku duke përdorur I2C: 4 hapa
Lidhja e dy OOBoards së bashku duke përdorur I2C: 4 hapa

Video: Lidhja e dy OOBoards së bashku duke përdorur I2C: 4 hapa

Video: Lidhja e dy OOBoards së bashku duke përdorur I2C: 4 hapa
Video: Управление 32 серводвигателями с PCA9685 и ESP32 - V4 2024, Korrik
Anonim
Lidhja e dy OOBoards së bashku duke përdorur I2C
Lidhja e dy OOBoards së bashku duke përdorur I2C

Ky udhëzues mbulon mënyrën e lidhjes së dy OOBoards duke përdorur I2C.

Hapi 1: Lidhja me Autobusin e Rrjetit I2C

Lidhja me Autobusin e Rrjetit I2C
Lidhja me Autobusin e Rrjetit I2C
Lidhja me Autobusin e Rrjetit I2C
Lidhja me Autobusin e Rrjetit I2C

Ka dy autobusë I2C në OOBoards, një autobus lokal dhe një autobus rrjeti.

Kodi OOPIC është në thelb një gjuhë e interpretuar, dmth "kodi" ruhet në EEPROM, dhe lexohet/interpretohet nga mikroprocesori në kohë reale. EEPROM përdor autobusin LOCAL I2C për të komunikuar me mikrokontrolluesin. Nëse do të shikonit këtë autobus lokal në oshiloskop, do të shihni zhurmë të vazhdueshme. Në tabelat OOBoards, autobusi lokal është ai që lidhet me lidhësin I2C, kjo nuk është domosdoshmërisht ajo që duam. Autobusi NETWORK është zakonisht autobusi që përdoret për të komunikuar me pajisje/pajisje të tjera, në OOBoards ky autobus nuk ka një lidhës. Për të hyrë në këtë autobus, duhet të lidhni telat në kunjat 42 dhe 37 të mikrokontrolluesit (shënuar N_SDA, N_SCL në skemën përkatësisht).

Hapi 2: Shtoni Rezistencat Tërheqëse

Pasi të bëhen lidhjet SDA dhe SCL në secilin procesor, të dy bordet munden

lidhen së bashku duke lidhur SDA -në me SDA -në, SCL -në me SCL -në dhe duke lidhur një tel tokësor të përbashkët midis tabelave. Ju gjithashtu do të keni nevojë për një rezistencë tërheqëse në secilën linjë (kam përdorur 12k, por kjo është ajo që kisha shtrirë përreth). Vini re se ju nevojitet vetëm një rezistencë tërheqëse për linjë për një total prej dy rezistencash (jo 4).

Hapi 3: Programoni skllavin

Tani që lidhjet fizike janë atje, do t'ju duhet të programoni mikrokontrolluesin skllav. Unë shtova një kod më poshtë që duhet t’ju fillojë.

Dim SLAVE Si i ri oDDELinkDim LED Si i ri oDIO1Sub Kryesor () dhe vendos adresën tonë I2C në 2 (vini re, kjo duhet të përputhet me telekomandën dhe aposadresën që kemi vendosur në kodin kryesor) ooPIC. Node = 2 & apossetup një LED LED. IOLine = 5 LED. Drejtimi = cvOutput & aposnow, lidhni daljen e objektit tonë DDELink me & aposthe LED, dhe ndizeni atë … tani automatikisht, LED do të pulsojë SLAVE. Output. Link (LED) SLAVE. Operate = cvTrueEnd Sub

Hapi 4: Programoni Masterin

Së fundi, programoni mikrokontrolluesin kryesor. Kushtojini vëmendje linjave që vendosin vetinë. Docation të DDELink: Nëse kjo nuk është vendosur si duhet, kjo NUK do të funksionojë!

Dim Master Si i ri oDDELinkDim teli Si i ri oWireDim hz1 Si i ri oBitSub Main () dhe lidhni kohëmatësin 1 sekondë me atë pak që mund të kemi dhe ky bit apostist tani do të kalojë një herë në tela të dytë. Input. Lidhje (ooPIC. Hz1) tel. Dalje Link (hz1) wire. Operate = cvTë vërteta & aposthis vendos adresën I2C të mikrokontrolluesit tonë lokal dhe ndërfaqja aposthe I2C nuk është aktive derisa të vendoset një adresë ooPIC. Node = 1 & aposnow ne vendosim objektin tonë DDELink, hyrja jonë është bit hz1 & aposnote që objekti gjithashtu ka një veti. Output që përdoret dhe kur jemi në modalitetin e marrjes Master. Input. Link (hz1) & kjo është adresa I2C e mikrokontrolluesit të largët, vini re se & aposin kodin e skllavit, i themi që të ketë një adresë 2 Master. Node = 2 & aposugh… kjo është pjesa e keqe, kjo është "adresa" e DDELink & aposobject në hapësirën e kujtesës skllevër & aposs. Për të kuptuar këtë numër, duhet të hapni dhe përpiloni kodin e skllavit, pastaj shkoni te View-> Code Compiled. & aposlook për diçka si: & aposL *. Konstrukto. Fillo; Dim si i ri oDDELink & aposwhere * është çdo numër, dhe është emri i objektit tuaj DDELink & aposin kodin tuaj të skllavit. Rreshti menjëherë poshtë tij duhet të lexojë diçka si: & aposC0020: 041; Kjo.. Adresa & numri aposthe në të djathtë të & apos: & apos është adresa e skllavit të objektit DDELink Master. Lokacioni = 41 & aposthis tregon objektin që do të dërgojmë të dhëna (p.sh., kopjoni të dhëna nga prona jonë. Input & aposto the slaves. pronësia e daljes (vini re, nëse e vendosni këtë për të marrë, është e kundërta) Master. Direction = cvDërgoje dhe dërgoji atë, por asgjë nuk po ndodh akoma … Master. Punoni = cvTrue Bëni & aposcheck për të parë nëse aktualisht po transmetojmë të dhëna Nëse Master. Transmitting = cvFalse Pastaj & apossetting këtë vlerë në 1 do të bëjë që masteri të dërgojë vlerën te skllavi & aposnote, kjo rivendoset automatikisht në 0 pas përfundimit të Master transmetimit. = 1 Fundi Nëse LoopEnd Nën

Recommended: