Orodha ya maudhui:

Kuunganisha OOBOards mbili Pamoja Kutumia I2C: 4 Hatua
Kuunganisha OOBOards mbili Pamoja Kutumia I2C: 4 Hatua

Video: Kuunganisha OOBOards mbili Pamoja Kutumia I2C: 4 Hatua

Video: Kuunganisha OOBOards mbili Pamoja Kutumia I2C: 4 Hatua
Video: Управление 32 сервомоторами с помощью PCA9685 и Arduino: V3 2024, Novemba
Anonim
Kuunganisha OOBOards mbili Pamoja Kutumia I2C
Kuunganisha OOBOards mbili Pamoja Kutumia I2C

Hii inashughulikia jinsi ya kuunganisha OOBoards mbili kutumia I2C.

Hatua ya 1: Kuunganisha kwenye Basi ya Mtandao ya I2C

Kuunganisha kwa Basi ya Mtandao ya I2C
Kuunganisha kwa Basi ya Mtandao ya I2C
Kuunganisha kwa Basi ya Mtandao ya I2C
Kuunganisha kwa Basi ya Mtandao ya I2C

Kuna mabasi mawili ya I2C kwenye OOBoards, basi ya karibu, na basi ya mtandao.

Nambari ya OOPIC kimsingi ni lugha iliyotafsirika, yaani "nambari" imehifadhiwa katika EEPROM, na inasomwa / kutafsiriwa na microprocessor kwa wakati halisi. EEPROM hutumia basi ya MTAA I2C kuwasiliana na mdhibiti mdogo. Ikiwa ungeangalia basi hii ya ndani kwenye oscilloscope, ungeona mazungumzo ya kila wakati. Kwenye bodi za OOBoards, basi ya ndani ndio imeunganishwa na kiunganishi cha I2C, hii sio lazima tunataka. Basi la NETWORK kawaida ni basi ambayo hutumiwa kuwasiliana na vifaa / oopics zingine, kwenye OOBoards basi hii haina kontakt. Ili ufikie basi hii, lazima uelekeze waya kwenye pini za 42 na 37 za microcontroller (iliyowekwa alama N_SDA, N_SCL kwenye skimu hiyo mtawaliwa).

Hatua ya 2: Ongeza Resistors Pullup

Mara tu uhusiano wa SDA na SCL utakapofanywa kwenye kila processor, bodi hizo mbili zinaweza

unganishwa pamoja kwa kuunganisha SDA na SDA, SCL na SCL, na kuunganisha waya wa kawaida kati ya bodi. Utahitaji pia kontena la kuvuta-juu kwenye kila laini (nilitumia 12k, lakini hiyo ndio tu nilikuwa nimelala karibu). Kumbuka kuwa unahitaji kontena moja la pullup kwa kila laini kwa jumla ya vipinga viwili (sio 4).

Hatua ya 3: Mpange Mtumwa

Sasa kwa kuwa unganisho la mwili liko, utahitaji kupanga microcontroller ya mtumwa. Niliongeza nambari kadhaa hapa chini ambayo inapaswa kuanza.

Punguza SLAVE Kama New oDDELinkDim LED Kama New oDIO1Sub Main () & aposset anwani yetu ya I2C kwa 2 (kumbuka, hii lazima ifanane na kijijini & aposadress ambayo tumeweka kwenye nambari kuu) ooPIC. Node = 2 & apossetup LED ya LED. IOLine = 5 LED. = cvPato & aposnow, unganisha pato la kitu chetu cha DDELink na & aposthe LED, na uiwashe… sasa kiatomatiki, LED itamulia SLAVE. Output. Link (LED) SLAVE. Operate = cvTrueEnd Sub

Hatua ya 4: Mpango wa Mwalimu

Mwishowe, panga microcontroller mkuu. Zingatia sana mistari ambayo imeweka DDELink's Mali ya eneo: Isipokuwa hii imewekwa vizuri, hii HAITAFANYA kazi!

Punguza Mwalimu kama waya mpya wa oDDinkinkDim kama New oWireDim hz1 Kama New oBitSub Kuu () & aposlink saa 1 ya pili hadi kidogo tunaweza kufikia & aposthis hii sasa itabadilika mara moja kwa waya wa pili. Input. Link (ooPIC. Hz1) waya. Kiungo (hz1) waya. Operate = cv Kweli & apos hii inaweka anwani ya I2C ya mdhibiti wetu mdogo wa kijijini & aposthe I2C interface haifanyi kazi hadi anwani iwekewe ooPIC. Node = 1 & aposnow tunaanzisha kitu chetu cha DDELink, pembejeo yetu ni hz1 kidogo na maelezo kwamba kitu pia kina mali ya Pato ambayo hutumiwa & aposwakati tunapokea Master mode. Input. Link (hz1) & aposthis ni anwani ya I2C ya mdhibiti mdogo wa kijijini, kumbuka kuwa & aposin nambari ya mtumwa, tunaiambia iwe na anwani ya 2 Master. Node = 2 & aposugh… hii ni sehemu ya kupendeza, hii ndio "anwani" ya DDELink & aposobject katika nafasi ya kumbukumbu ya mtumwa na apos. Ili kugundua nambari hii, & aposwe anahitaji kufungua na kukusanya nambari ya mtumwa, kisha goto Tazama-> Msimbo uliojumuishwa. & angalia kitu kama: & aposL *. Jenga. Anza; Punguza kama oDDELink mpya na mahali pengine * ni nambari yoyote, na ni jina la kitu chako cha DDELink & aposin nambari yako ya mtumwa. Mstari mara moja chini yake unapaswa kusoma kitu kama: & aposC0020: 041; Hii.. Anwani na nambari ya aposthe kulia kwa & apos: & apos ni anwani ya mtumwa wa DDELink kitu Master. Mahali = 41 & apos hii inaambia kitu ambacho tutatuma data (kwa mfano, nakili data kutoka kwa mali yetu ya Kuingiza = cv Kweli Fanya & aposcheck kuona ikiwa kwa sasa tunasambaza data Ikiwa Mwalimu. Usafirishaji = cvUtapeli Kisha na kuweka thamani hii kwa 1 itasababisha bwana kupeleka dhamana kwa mtumwa na maelezo mafupi, hii inarejeshwa moja kwa moja hadi 0 baada ya kukamilisha Master Master ya Usafirishaji. = 1 Mwisho Ikiwa Sehemu ya LoopEnd

Ilipendekeza: