Sisällysluettelo:

Kahden OOBoard -levyn liittäminen yhteen I2C: n avulla: 4 vaihetta
Kahden OOBoard -levyn liittäminen yhteen I2C: n avulla: 4 vaihetta

Video: Kahden OOBoard -levyn liittäminen yhteen I2C: n avulla: 4 vaihetta

Video: Kahden OOBoard -levyn liittäminen yhteen I2C: n avulla: 4 vaihetta
Video: 32 servomoottorin ohjaaminen PCA9685: n ja Arduino: V3: n avulla 2024, Heinäkuu
Anonim
Kahden OOBoard -levyn liittäminen yhteen I2C: n avulla
Kahden OOBoard -levyn liittäminen yhteen I2C: n avulla

Tämä opas kattaa kahden OOBoard -levyn liittämisen I2C: n avulla.

Vaihe 1: Yhdistäminen I2C -verkkoväylään

Yhdistäminen I2C -verkkoväylään
Yhdistäminen I2C -verkkoväylään
Yhteyden muodostaminen I2C -verkkoväylään
Yhteyden muodostaminen I2C -verkkoväylään

OOBoardsissa on kaksi I2C -väylää, paikallisväylä ja verkkoväylä.

OOPIC -koodi on lähinnä tulkittu kieli, eli "koodi" tallennetaan EEPROMiin ja mikroprosessori lukee/tulkitsee sitä reaaliajassa. EEPROM käyttää LOCAL I2C -väylää kommunikoidakseen mikro -ohjaimen kanssa. Jos katsoisit tätä paikallista väylää oskilloskoopilla, näkisit jatkuvaa puhetta. OOBoards -korteilla paikallinen väylä on kytketty I2C -liittimeen, tämä ei välttämättä ole sitä, mitä haluamme. NETWORK -väylä on yleensä väylä, jota käytetään kommunikoimaan muiden laitteiden/oopicien kanssa, OOBoardsissa tässä väylässä ei ole liitintä. Päästäksesi tähän väylään sinun on juotettava johdot mikro -ohjaimen nastoihin 42 ja 37 (merkitty kaaviossa vastaavasti N_SDA, N_SCL).

Vaihe 2: Lisää vetovoimat

Kun SDA- ja SCL -liitännät on tehty kumpaankin prosessoriin, molemmat levyt voivat

liitetään yhteen liittämällä SDA SDA: han, SCL SCL: ään ja yhteinen maadoitusjohto levyjen väliin. Tarvitset myös vetovastusvastuksen kullekin linjalle (käytin 12k, mutta juuri sitä minulla oli makaamassa). Huomaa, että tarvitset vain yhden vetovoiman linjaa kohden yhteensä kahdelle vastuulle (ei 4).

Vaihe 3: Ohjelmoi orja

Nyt kun fyysiset liitännät ovat olemassa, sinun on ohjelmoitava orjamikro. Lisäsin alle koodin, jonka pitäisi aloittaa.

Himmennä SLAVE kuin uusi oDDELinkDim LED kuin uusi oDIO1Sub Main () & aseta I2C -osoitteemme arvoon 2 (huomaa, että tämän on vastattava master -koodissa määrittämäämme kaukosäädintä ja aposadressia) ooPIC. Node = 2 & anossetup a LED LED. IOLine = 5 LED = cvOutput & aposnow, linkitä DDELink -objektimme ulostulo & aposthe LEDiin ja kytke se päälle … nyt automaattisesti, LED vilkkuu SLAVE. Output. Link (LED) SLAVE. Operate = cvTrueEnd Sub

Vaihe 4: Ohjelmoi Master

Lopuksi ohjelmoi päämikro -ohjain. Kiinnitä erityistä huomiota linjoihin, jotka asettavat DDELinkin ominaisuuden.

Dim Master kuten uusi oDDELinkDim lanka kuin uusi oWireDim hz1 Uutena oBitSub Main () & aposlink 1 sekunnin ajastin bittiin, jota voimme käyttää & aposthis bit vaihtaa nyt kerran sekunnissa johdossa. Link (hz1) wire. Operate = cvTrue & aposthis asettaa paikallisen mikrokontrollerimme I2C -osoitteen ja aposthe I2C -käyttöliittymä ei ole aktiivinen, ennen kuin osoite on asetettu ooPIC. Node = 1 & kun määritämme DDELink -objektimme, panoksemme on bitti hz1 & huomaa, että objektilla on myös. Output -ominaisuus, jota käytetään & kun olemme vastaanottotilassa Master. Input. Link (hz1) & aposthis on etämikro -ohjaimen I2C -osoite. Huomaa, että & aposin orjakoodi, kerromme sen osoitteen 2 Master. Node = 2 & aposugh… tämä on paska osa, tämä on DDELink & aposobjektin "osoite" orja- ja apossimuistitilassa. Tämän numeron selvittämiseksi & aposwe täytyy avata ja kääntää orjakoodi ja siirtyä sitten View-> Compiled Code. & etsiä esimerkiksi seuraavaa: & aposL *. Construct. Begin; Dim kuin uusi oDDELink Välittömästi sen alapuolella olevan rivin pitäisi olla seuraavanlainen: & aposC0020: 041; Tämä … Osoite & aposthe numero & apos: & apos -laitteen oikealla puolella on orja DDELink -objektin Master. Location = 41 & aposthis osoite, jonka lähetämme data (ts. kopioi tiedot. = cvTrue Do & aposcheck nähdäksemme, lähetämmekö tietoja tällä hetkellä If Master. Transmission = cvFalse Sitten & tämän arvon asettaminen arvoon 1 saa isännän lähettämään arvon orjalle ja aposnotelle, tämä palautetaan automaattisesti arvoon 0, kun Master Master on lähetetty. = 1 End If LoopEnd Sub

Suositeltava: