Мазмұны:

IOC көмегімен 4 OOBoard тақтасын біріктіру: 4 қадам
IOC көмегімен 4 OOBoard тақтасын біріктіру: 4 қадам

Бейне: IOC көмегімен 4 OOBoard тақтасын біріктіру: 4 қадам

Бейне: IOC көмегімен 4 OOBoard тақтасын біріктіру: 4 қадам
Бейне: Жиналыс №2-24.04.2022 | ETF тобының мүшесі және диалог 2024, Шілде
Anonim
IOC көмегімен екі OOBoard тақтасын біріктіру
IOC көмегімен екі OOBoard тақтасын біріктіру

Бұл нұсқаулық IOC көмегімен екі OOBoards қосылу жолын қамтиды.

1 -қадам: I2C желілік шинасына қосылу

I2C желілік шинасына қосылу
I2C желілік шинасына қосылу
I2C желілік шинасына қосылу
I2C желілік шинасына қосылу

OOBoards -те екі I2C автобусы, жергілікті автобус және желілік автобус бар.

OOPIC коды мәні бойынша түсіндірілетін тіл болып табылады, яғни «код» EEPROM -де сақталады және микропроцессор нақты уақытта оқиды/түсіндіреді. EEPROM микроконтроллермен байланысу үшін LOCAL I2C шинасын қолданады. Егер сіз осциллографта жергілікті автобусқа қарасаңыз, сіз үнемі сөйлесуді көресіз. OOBoards тақталарында жергілікті автобус I2C қосқышына қосылған, бұл біз қалайтын нәрсе емес. NETWORK шинасы - бұл басқа құрылғылармен байланыс үшін пайдаланылатын автобус, бірақ OOBoards тақтасында бұл коннектор жоқ. Бұл автобусқа кіру үшін сымды микроконтроллердің 42 және 37 түйреуіштеріне дәнекерлеу керек (сәйкесінше N_SDA, N_SCL белгіленген).

2 -қадам: тарту резисторларын қосыңыз

SDA және SCL қосылымдары әр процессорға қосылғаннан кейін, екі тақта қосыла алады

SDA -ді SDA -ға, SCL -ді SCL -ге қосу және тақталар арасында ортақ жерге қосу сымын қосу арқылы біріктіріледі. Сізге әр жолда тартылатын резистор қажет болады (мен 12k қолдандым, бірақ мен дәл осылай жаттым). Назар аударыңыз, сізге тек екі резистор үшін бір жолға тек бір тартқыш резистор қажет (4 емес).

3 -қадам: Құлды бағдарламалау

Енді физикалық қосылымдар бар болса, сізге қосымша микроконтроллерді бағдарламалау қажет болады. Мен төменде кодты қостым, ол сізді бастау керек.

Dim ooPIC. Node = 2 & светодиодты жарықдиодты орнату. IOLine = 5 жарықдиодты бағыттау. = cvOutput & aposnow, біздің DDELink объектісінің шығысын & aposthe LED -ге байланыстырып, оны қосыңыз … енді автоматты түрде жарық диоды SLAVE. Output. Link (LED) SLAVE. Operate = cvTrueEnd Sub

4 -қадам: Master бағдарламасын жасаңыз

Соңында негізгі микроконтроллерді бағдарламалаңыз. DDELink's. Location сипатын орнататын жолдарға мұқият назар аударыңыз: Егер бұл дұрыс орнатылмаса, бұл жұмыс істемейді!

Dim Master ретінде жаңа oDDELinkDim сым ретінде New oWireDim hz1 ретінде Жаңа oBitSub Main () & 1 апталық таймерді біз қол жеткізе алатын битке қосамыз & aposthis бит енді секундына бір сымға ауысады. Input. Link (ooPIC. Hz1) сым. Сілтеме (hz1) сым. Operate = cvTrue & aposthis бұл жергілікті микроконтроллердің I2C адресін орнатады және IoC интерфейсін aposthe орнатады ooPIC. Node = 1 & біз DDELink нысанын орнатамыз, енді біз енгіземіз - hz1 & aposnote Сондай -ақ, нысанның. Output қасиеті бар, біз Master. Input. Link (hz1) қабылдау режимінде болсақ, қашықтағы микроконтроллердің I2C адресі болып табылады, оған құлдық кодтың апосині болса, біз оған 2 мекенжайы болуын айтамыз. Master. Node = 2 & aposugh… бұл жағымсыз бөлім, бұл DDELink пен aposobject -тің құлдықта және аралық кеңістіктегі «мекенжайы». Бұл санды анықтау үшін & aposwe қызмет кодын ашып, жинау керек, содан кейін View-> Құрастырылған кодқа өту керек. & aposlook сияқты нәрсені іздеңіз: & aposL *. Construct. Begin; Dim oDDELink & aposwhere * ретінде қараңғылау - кез келген сан, және сіздің DDELink нысанының атауы & құл кодын апосин. Оның астындағы жолда келесідей нәрсе болуы керек: & aposC0020: 041; Бұл … & apos оң жақтағы & apos нөмірі: & apos - Master DDELink нысанының мекен -жайы Master. Location = 41 & aposthis біз жіберетін объектіні айтады. деректер (яғни, біздің. Input property & aposto the slaves.output қасиетінен деректерді көшіру (ескеріңіз, егер сіз оны қабылдайтын болсаңыз, бұл керісінше) Master. Direction = cvSend & aposturn, бірақ әлі ештеңе болып жатқан жоқ … Master. Operate = cvTrue Do & aposcheck, егер біз қазір Master. Transmitting = cvFalse Содан кейін & бұл мәнді 1 -ге жіберу мастердің қосымша бағаны жіберуіне әкелетінін білу үшін апостроцировать етеміз, бұл Master. Sync беруді аяқтағаннан кейін автоматты түрде 0 қалпына келтіріледі. = 1 LoopEnd Sub болса аяқтаңыз

Ұсынылған: