Obsah:

Spojenie dvoch dosiek OOB dohromady pomocou I2C: 4 kroky
Spojenie dvoch dosiek OOB dohromady pomocou I2C: 4 kroky

Video: Spojenie dvoch dosiek OOB dohromady pomocou I2C: 4 kroky

Video: Spojenie dvoch dosiek OOB dohromady pomocou I2C: 4 kroky
Video: Как принять квартиру у застройщика? Ремонт в НОВОСТРОЙКЕ от А до Я. #1 2024, Júl
Anonim
Spojenie dvoch OOBoborov dohromady pomocou I2C
Spojenie dvoch OOBoborov dohromady pomocou I2C

Tento návod popisuje, ako prepojiť dve karty OOB pomocou I2C.

Krok 1: Pripojenie k sieťovej zbernici I2C

Pripojenie k sieťovej zbernici I2C
Pripojenie k sieťovej zbernici I2C
Pripojenie k sieťovej zbernici I2C
Pripojenie k sieťovej zbernici I2C

Na OOBardoch sú dve zbernice I2C, miestna zbernica a sieťová zbernica.

OOPIC kód je v podstate interpretovaný jazyk, tj. „Kód“je uložený v EEPROM a je prečítaný/interpretovaný mikroprocesorom v reálnom čase. EEPROM používa na komunikáciu s mikrokontrolérom zbernicu LOCAL I2C. Ak by ste sa na tento miestny autobus pozreli na osciloskope, videli by ste neustále klábosenie. Na doskách OOBoards je miestna zbernica pripojená ku konektoru I2C, čo nie je to, čo chceme. Zbernica NETWORK je zvyčajne zbernica, ktorá slúži na komunikáciu s inými zariadeniami/oopics, na OOBardoch táto zbernica nemá konektor. Aby ste sa dostali k tejto zbernici, musíte spájkovať vodiče na kolíky 42 a 37 mikrokontroléra (na schéme označené N_SDA, N_SCL).

Krok 2: Pridajte vyťahovacie rezistory

Hneď ako sa na každom procesore vytvoria pripojenia SDA a SCL, dve dosky to dokážu

byť prepojené prepojením SDA na SDA, SCL na SCL a prepojením spoločného uzemňovacieho vodiča medzi doskami. Budete tiež potrebovať vyťahovací odpor na každom riadku (použil som 12k, ale to som práve ležal). Všimnite si toho, že na celkovo dva odpory (nie 4) potrebujete iba jeden pullup odpor na linku.

Krok 3: Naprogramujte zariadenie Slave

Teraz, keď sú k dispozícii fyzické pripojenia, budete musieť naprogramovať podradený mikrokontrolér. Nižšie som pridal kód, ktorý by vám mal pomôcť začať.

Stmaviť SLAVE ako nový oDDELinkDim LED ako nový oDIO1Sub Main () & aposset our I2C address to 2 (note, this must match the remote & aposaddress we set in the master code) ooPIC. Node = 2 & apossetup a LED LED. IOLine = 5 LED. Direction = cvOutput & aposnow, prepojte výstup nášho objektu DDELink s & aposthe LED a zapnite ho … teraz automaticky, LED bude blikať SLAVE. Output. Link (LED) SLAVE. Operate = cvTrueEnd Sub

Krok 4: Naprogramujte Master

Nakoniec naprogramujte hlavný mikrokontrolér. Dávajte veľký pozor na riadky, ktoré nastavujú vlastnosť DDELink. Location: Pokiaľ to nie je správne nastavené, nebude to fungovať!

Dim Master ako nový oDDELinkDim drôt ako nový oWireDim hz1 ako nový oBitSub Main () & aposlink 1sekundový časovač na bit, ku ktorému máme prístup & aposthis bit sa teraz bude prepínať raz za sekundu vodič. Vstup. Link (ooPIC. Hz1) vodič. Výstup. Link (hz1) wire. Operate = cvTrue & aposthis nastavuje adresu I2C nášho miestneho mikrokontroléra & aposthe rozhranie I2C nie je aktívne, kým nie je adresa nastavená ooPIC. Node = 1 & aposnow nastavíme náš objekt DDELink, náš vstup je bit hz1 & aposnote že objekt má tiež vlastnosť. Výstup, ktorá sa používa, keď sme v režime príjmu Master. Input. Link (hz1) & aposthis je adresa I2C vzdialeného mikrokontroléra, všimnite si, že & apinin slave code, we tell it to have a address of 2 Master. Node = 2 & aposugh … toto je mizerná časť, toto je „adresa“DDELink & aposobject v pamäťovom priestore slave & aposs. Aby sme zistili toto číslo, musíme otvoriť a skompilovať podradený kód a potom prejsť na položku Zobraziť-> Skompilovaný kód. & aposlook niečo ako: & aposL *. Construct. Begin; Dim as new oDDELink & aposwhere * je ľubovoľné číslo a je to názov vášho objektu DDELink & aposin your slave code. Riadok bezprostredne pod ním by mal znieť takto: 'aposC0020: 041; This.. Address' aposthe number of the right of the 'apos:' apos is the address of the slave DDELink object Master. Location = 41 'aposthis says the object that we will send dáta (tj. skopírujte údaje z našej vlastnosti. Vstupná vlastnosť & aposto vlastnosti slave.output (všimnite si, že ak to nastavíte na príjem, je to naopak) Master. Direction = cvOdoslať & zrušiť jeho zapnutie, ale zatiaľ sa nič nedeje … Master. Operate = cvTrue Do & aposcheck to see if we are currently running data are If Master. Transmitting = cvFalse Then & apossetting this value to 1 will master the send to the value to the slave & aposnote, this is automatically reset to 0 upon completion of transmission Master. Sync = 1 Koniec, ak LoopEnd Sub

Odporúča: