Taula de continguts:

Connexió de dues plaques OOB juntes mitjançant I2C: 4 passos
Connexió de dues plaques OOB juntes mitjançant I2C: 4 passos

Vídeo: Connexió de dues plaques OOB juntes mitjançant I2C: 4 passos

Vídeo: Connexió de dues plaques OOB juntes mitjançant I2C: 4 passos
Vídeo: ЗАМОРОЗЬТЕ КОСТИ И ВАРИТЕ 6 ЧАСОВ! Рецепт который изменит вашу жизнь! 2024, Juliol
Anonim
Connexió de dues plaques OOB juntes mitjançant I2C
Connexió de dues plaques OOB juntes mitjançant I2C

Aquesta instrucció descriu com connectar dos OOBoards mitjançant I2C.

Pas 1: Connexió al bus de xarxa I2C

Connexió al bus de xarxa I2C
Connexió al bus de xarxa I2C
Connexió al bus de xarxa I2C
Connexió al bus de xarxa I2C

Hi ha dos autobusos I2C als OOBoards, un bus local i un bus de xarxa.

El codi OOPIC és essencialment un llenguatge interpretat, és a dir, el "codi" s'emmagatzema a EEPROM i el microprocessador el llegeix / interpreta en temps real. L’EEPROM utilitza el bus I2C LOCAL per comunicar-se amb el microcontrolador. Si mireu aquest bus local a l’oscil·loscopi, veureu xerrades constants. A les plaques OOBoards, el bus local és el que està connectat al connector I2C, això no és necessàriament el que volem. El bus NETWORK sol ser el bus que s’utilitza per comunicar-se amb altres dispositius o opics, a les plaques OOBoard aquest bus no té cap connector. Per accedir a aquest bus, heu de soldar els cables als pins 42 i 37 del microcontrolador (marcats N_SDA, N_SCL a l’esquema respectivament).

Pas 2: afegiu les resistències pullup

Quan es fan connexions SDA i SCL a cada processador, les dues plaques poden fer-ho

enllaçar-se connectant SDA a SDA, SCL a SCL i connectant un cable de terra comú entre les plaques. També necessitareu una resistència pull-up a cada línia (he utilitzat 12k, però això és exactament el que tenia). Tingueu en compte que només necessiteu una resistència de tracció per línia per a un total de dues resistències (no 4).

Pas 3: programa l’esclau

Ara que hi ha les connexions físiques, haureu de programar el microcontrolador esclau. A continuació he afegit un codi que us hauria de fer començar.

Dim ESCLAU com a nou oDDELinkDim LED com a nou oDIO1Sub Main () i posa la nostra adreça I2C a 2 (nota, ha de coincidir amb l'adreça remota i l'aposadreça que establim al codi mestre) ooPIC. Node = 2 & apossetup a LED LED. IOLine = 5 LED. Direction = cvOutput & aposnow, enllaça la sortida del nostre objecte DDELink amb el LED & aposthe i engega'l … ara automàticament, el LED parpellejarà SLAVE. Output. Link (LED) SLAVE. Operate = cvTrueEnd Sub

Pas 4: programa el Màster

Finalment, programa el microcontrolador mestre. Presteu molta atenció a les línies que configuren la propietat. Location del DDELink: tret que estigui configurat correctament, això NO funcionarà.

Dim Master As New oDDELinkDim wire As New oWireDim hz1 As New oBitSub Main () & aposlink the 1 second timer to the a bit we can access & aposthis bit will alternate one once per second wire. Input. Link (ooPIC. Hz1) wire. Output. Enllaç (hz1) wire. Operate = cvTrue & aposthis estableix l'adreça I2C del nostre microcontrolador local i la interfície I2C aposthe no està activa fins que no es defineix una adreça ooPIC. Node = 1 & aposnow configurem el nostre objecte DDELink, la nostra entrada és el bit hz1 i aposnote que el L'objecte també té una propietat. Output que s'utilitza i quan estem en mode de recepció Master. Input. Link (hz1) & aposthis és l'adreça I2C del microcontrolador remot, tingueu en compte que & aposin el codi esclau, li diem que tingui una adreça de 2 Master. Node = 2 & aposugh … aquesta és la part merda, aquesta és la "adreça" del DDELink & aposobject a l'espai de memòria esclau i aposs. Per esbrinar aquest número, cal que obriu i compileu el codi esclau i aneu a Visualitza-> Codi compilat. & Aposlook per a alguna cosa com: & aposL *. Construct. Begin; Dim com nou oDDELink & aposwhere * és qualsevol número, i és el nom del vostre objecte DDELink & aposin el vostre codi esclau. La línia que hi ha immediatament a sota hauria de llegir alguna cosa així: & aposC0020: 041; Aquest..adreça i número d’aposthe a la dreta del & apos: & apos és l’adreça de l’objecte esclau DDELink Master. Location = 41 & aposthis indica a l’objecte que l’enviarem. dades (és a dir, copieu les dades de la nostra propietat. Input i aposte els esclaus. propietat.output (tingueu en compte que, si configureu aquesta opció per rebre, és el contrari). = cvTrue Feu i comproveu si voleu veure si actualment estem transmetent dades. Si Master. Transmitting = cvFalse Aleshores i establir aquest valor a 1 farà que el mestre enviï el valor a l'esclau i aposnote, es restablirà automàticament a 0 un cop finalitzada la transmissió Master. Sync = 1 Finalitza si el bucle finalitza sub

Recomanat: