Satura rādītājs:

Divu OOBoards pievienošana, izmantojot I2C: 4 soļi
Divu OOBoards pievienošana, izmantojot I2C: 4 soļi

Video: Divu OOBoards pievienošana, izmantojot I2C: 4 soļi

Video: Divu OOBoards pievienošana, izmantojot I2C: 4 soļi
Video: 40 полезных автотоваров с Aliexpress, которые упростят жизнь любому автовладельцу #4 2024, Novembris
Anonim
Divu OOBoards pieslēgšana kopā, izmantojot I2C
Divu OOBoards pieslēgšana kopā, izmantojot I2C

Šī pamācība aptver, kā savienot divas OOBoards, izmantojot I2C.

1. darbība. Savienojuma izveide ar I2C tīkla kopni

Savienojuma izveide ar I2C tīkla kopni
Savienojuma izveide ar I2C tīkla kopni
Savienojuma izveide ar I2C tīkla kopni
Savienojuma izveide ar I2C tīkla kopni

OOBoards ir divi I2C autobusi, vietējais autobuss un tīkla autobuss.

OOPIC kods būtībā ir interpretēta valoda, ti, "kods" tiek saglabāts EEPROM, un mikroprocesors to nolasa/interpretē reālā laikā. EEPROM saziņai ar mikrokontrolleri izmanto LOCAL I2C kopni. Ja paskatītos uz šo vietējo autobusu uz osciloskopa, jūs redzētu nemitīgu pļāpāšanu. OOBoards dēļos vietējais autobuss ir savienots ar I2C savienotāju, tas ne vienmēr ir tas, ko mēs vēlamies. Tīkla kopne parasti ir autobuss, ko izmanto, lai sazinātos ar citām ierīcēm/opiķiem, OOBoards šai kopnei nav savienotāja. Lai piekļūtu šai kopnei, jums jāpielodē vadi pie mikrokontrollera 42. un 37. tapas (shēmā attiecīgi atzīmēts N_SDA, N_SCL).

2. darbība: pievienojiet savilkšanas rezistorus

Kad katrā procesorā ir izveidoti SDA un SCL savienojumi, abas plates var

savienot kopā, savienojot SDA ar SDA, SCL ar SCL un savienojot kopēju zemējuma vadu starp plāksnēm. Jums būs nepieciešams arī uzvilkšanas rezistors katrā līnijā (es izmantoju 12k, bet tas bija tikai tas, kas man bija guļam apkārt). Ņemiet vērā, ka jums ir nepieciešams tikai viens pievilkšanas rezistors vienā līnijā kopā diviem rezistoriem (nevis 4).

3. solis: ieprogrammējiet vergu

Tagad, kad ir fiziski savienojumi, jums būs jāprogrammē vergu mikrokontrolleris. Zemāk es pievienoju kodu, ar kuru jums vajadzētu sākt.

Dim SLAVE kā jauns oDDELinkDim LED kā jauns oDIO1Sub Main () & mūsu I2C adrese ir apzīmēta ar 2 (ņemiet vērā, ka tai jāatbilst galvenajam kodam iestatītajai tālvadības un aproces adresei) ooPIC. Node = 2 & apossetup a LED LED. IOLine = 5 LED. Direction = cvOutput & aposnow, sasaistiet mūsu DDELink objekta izvadi ar & aposthe LED un ieslēdziet to … tagad automātiski, LED mirgos SLAVE. Output. Link (LED) SLAVE. Operate = cvTrueEnd Sub

4. solis: ieprogrammējiet meistaru

Visbeidzot, ieprogrammējiet galveno mikrokontrolleri. Pievērsiet uzmanību līnijām, kas nosaka DDELink īpašību. Atrašanās vieta: ja vien tas nav pareizi iestatīts, tas nedarbosies!

Dim meistars kā jauns oDDELinkDim vads kā jauns oWireDim hz1 Kā jauns oBitSub Main () un aposlink 1 sekundes taimeris uz bitu, kuram mēs varam piekļūt, un aposthis bit tagad pārslēgsies vienreiz sekundē. Input. Link (ooPIC. Hz1) vads. Output. Saites (hz1) vads. Operācija = cvTiesa un aposthis nosaka mūsu vietējā mikrokontrollera I2C adresi un apostē I2C saskarne nav aktīva, kamēr nav iestatīta adrese ooPIC. Mezgls = 1 un, apzinoties, ka esam iestatījuši savu DDELink objektu, mūsu ievade ir bits hz1 un apzīmējums objektam ir arī. Izvades rekvizīts, kas tiek izmantots & kad mēs esam saņemšanas režīmā Master. Input. Link (hz1) & aposthis ir attālā mikrokontrollera I2C adrese, ņemiet vērā, ka & aposin vergu kodu, mēs sakām, ka tā adrese ir 2 Master. Node = 2 & aposugh … šī ir trakā daļa, šī ir DDELink & aposobjekta "adrese" vergu un aposu atmiņas telpā. Lai noskaidrotu šo skaitli, & aposwe ir jāatver un jāapkopo vergu kods, pēc tam dodieties uz View-> Compiled Code. & aposlook kaut ko līdzīgu: & aposL *. Construct. Begin; Dim kā jauns oDDELink & aposwhere * ir jebkurš skaitlis, un tas ir jūsu DDELink objekta nosaukums un aposin jūsu verga kods. Rindā, kas atrodas tieši zem tās, vajadzētu būt apmēram šādam: & aposC0020: 041; Šis … Adrese un aposta numurs pa labi no & apos: & apos ir verga DDELink objekta Master adrese. Atrašanās vieta = 41 & aposthis norāda objektu, kuru mēs sūtīsim dati (ti, kopējiet datus no mūsu. Input rekvizīts & aposto the slaves.output īpašums (ņemiet vērā, ja iestatāt to saņemšanai, tas ir pretēji) Master. Direction = cvSūtīt un aposturnēt, bet vēl nekas nenotiek … Master. Operate = cvPatiesa, pārbaudiet, vai mēs pašlaik pārsūtām datus, ja Master. Transmission = cvFalse = 1 End If LoopEnd Sub

Ieteicams: