Πίνακας περιεχομένων:

Σύνδεση δύο OOBoards Μαζί χρησιμοποιώντας το I2C: 4 βήματα
Σύνδεση δύο OOBoards Μαζί χρησιμοποιώντας το I2C: 4 βήματα

Βίντεο: Σύνδεση δύο OOBoards Μαζί χρησιμοποιώντας το I2C: 4 βήματα

Βίντεο: Σύνδεση δύο OOBoards Μαζί χρησιμοποιώντας το I2C: 4 βήματα
Βίντεο: Πως να συνδέσω διακόπτη αλέ ρετούρ | Σύνδεση δυο ακραίων aller retour #διακοπτες #allerretour 2024, Νοέμβριος
Anonim
Σύνδεση δύο OOBoards Μαζί χρησιμοποιώντας το I2C
Σύνδεση δύο OOBoards Μαζί χρησιμοποιώντας το I2C

Αυτό το οδηγό καλύπτει τον τρόπο σύνδεσης δύο OOBoards χρησιμοποιώντας το I2C.

Βήμα 1: Σύνδεση με το δίαυλο δικτύου I2C

Σύνδεση με το δίαυλο δικτύου I2C
Σύνδεση με το δίαυλο δικτύου I2C
Σύνδεση με το δίαυλο δικτύου I2C
Σύνδεση με το δίαυλο δικτύου I2C

Υπάρχουν δύο λεωφορεία I2C στα OOBoards, ένα τοπικό λεωφορείο και ένας δίαυλος δικτύου.

Ο κώδικας OOPIC είναι ουσιαστικά μια ερμηνευμένη γλώσσα, δηλαδή ο "κώδικας" αποθηκεύεται στο EEPROM και διαβάζεται/ερμηνεύεται από τον μικροεπεξεργαστή σε πραγματικό χρόνο. Το EEPROM χρησιμοποιεί το δίαυλο LOCAL I2C για επικοινωνία με τον μικροελεγκτή. Αν κοιτούσατε αυτό το τοπικό λεωφορείο στον παλμογράφο, θα βλέπατε συνεχή φλυαρία. Στις πλακέτες OOBoards, το τοπικό λεωφορείο είναι αυτό που συνδέεται με την υποδοχή I2C, αυτό δεν είναι απαραίτητα αυτό που θέλουμε. Ο δίαυλος ΔΙΚΤΥΟΥ είναι συνήθως ο δίαυλος που χρησιμοποιείται για την επικοινωνία με άλλες συσκευές/οπτικά, στα OOBoards αυτός ο δίαυλος δεν έχει σύνδεση. Για να αποκτήσετε πρόσβαση σε αυτό το δίαυλο, πρέπει να συγκολλήσετε καλώδια στις ακίδες 42 και 37 του μικροελεγκτή (σημειωμένες με N_SDA, N_SCL στο σχήμα αντίστοιχα).

Βήμα 2: Προσθέστε τις αντιστάσεις έλξης

Μόλις πραγματοποιηθούν συνδέσεις SDA και SCL σε κάθε επεξεργαστή, οι δύο πίνακες μπορούν

συνδέονται μεταξύ τους συνδέοντας το SDA με το SDA, το SCL με το SCL και συνδέοντας ένα κοινό καλώδιο γείωσης μεταξύ των σανίδων. Θα χρειαστείτε επίσης μια αντίσταση ανύψωσης σε κάθε γραμμή (χρησιμοποίησα 12k, αλλά αυτό ακριβώς έκανα ξαπλωμένο). Σημειώστε ότι χρειάζεστε μόνο μία αντίσταση έλξης ανά γραμμή για συνολικά δύο αντιστάσεις (όχι 4).

Βήμα 3: Προγραμματίστε το Slave

Τώρα που οι φυσικές συνδέσεις είναι εκεί, θα χρειαστεί να προγραμματίσετε τον μικροελεγκτή slave. Πρόσθεσα παρακάτω έναν κώδικα που θα πρέπει να σας ξεκινήσει.

Dim SLAVE As New oDDELinkDim LED As New oDIO1Sub Main () & aposset your I2C address to 2 (note, it must match the remote & aposaddress we set in the master code) ooPIC. Node = 2 & apossetup an LED LED. IOLine = 5 LED. = cvOutput & aposnow, συνδέστε την έξοδο του αντικειμένου DDELink με το & aposthe LED και ενεργοποιήστε το … τώρα αυτόματα, το LED θα αναβοσβήνει SLAVE. Output. Link (LED) SLAVE. Operate = cvTrueEnd Sub

Βήμα 4: Προγραμματίστε το Master

Τέλος, προγραμματίστε τον κύριο μικροελεγκτή. Δώστε ιδιαίτερη προσοχή στις γραμμές που ορίζουν την ιδιότητα. Docation του DDELink: Αν δεν έχει ρυθμιστεί σωστά, αυτό ΔΕΝ θα λειτουργήσει!

Dim Master As New oDDELinkDim wire As New oWireDim hz1 As New oBitSub Main () & συνδέστε ξανά το χρονόμετρο 1 δευτερολέπτου στο κομμάτι στο οποίο μπορούμε να έχουμε πρόσβαση και αυτό το κομμάτι θα μεταφερθεί τώρα μία φορά ανά δευτερόλεπτο καλώδιο. Είσοδος. Σύνδεσμος (ooPIC. Hz1) Link (hz1) wire. Operate = cvTrue & aposthis ορίζει τη διεύθυνση I2C του τοπικού μικροελεγκτή & η διεπαφή aposthe I2C δεν είναι ενεργή μέχρι να οριστεί μια διεύθυνση ooPIC. Node = 1 & aposnow ρυθμίζουμε το αντικείμενο DDELink, η εισαγωγή μας είναι το bit hz1 & aposnote ότι το το αντικείμενο έχει επίσης μια ιδιότητα. Output που χρησιμοποιείται & aposwi είμαστε σε λειτουργία λήψης Master. Input. Link (hz1) & aposthis είναι η διεύθυνση I2C του απομακρυσμένου μικροελεγκτή, σημειώστε ότι & aposin του slave code, του λέμε να έχει διεύθυνση 2 Master. Node = 2 & aposugh… αυτό είναι το χάλια μέρος, αυτή είναι η "διεύθυνση" του DDELink & aposobject στο χώρο μνήμης slave & aposs. Για να καταλάβετε αυτόν τον αριθμό, πρέπει να ανοίξετε και να μεταγλωττίσετε τον κωδικό υποτελείας και, στη συνέχεια, να μεταβείτε στην Προβολή-> Μεταγλωττισμένος κώδικας. & aposlook για κάτι όπως: & aposL *. Construct. Begin; Dim ως νέο oDDELink & aposwhere * είναι οποιοσδήποτε αριθμός και είναι το όνομα του αντικειμένου DDELink και αποστέλλετε τον κωδικό υποτελείας σας. Η γραμμή ακριβώς κάτω από αυτήν θα πρέπει να διαβάζει κάτι όπως: & aposC0020: 041; Αυτό.. Διεύθυνση & αριθμός aposthe στα δεξιά του & apos: & apos είναι η διεύθυνση του σκλάβου αντικειμένου DDELink Master. Location = 41 & aposthis λέει το αντικείμενο που θα στείλουμε δεδομένα (δηλ. αντιγραφή δεδομένων από την ιδιοκτησία μας. Input & aposto the slaves.output ιδιότητα (σημειώστε, αν το ορίσετε για λήψη, είναι το αντίθετο) Master. Direction = cvΑποστολή & απόρριψή του, αλλά τίποτα δεν συμβαίνει ακόμα… Master. Operate = cvTrue Do & aposcheck για να δείτε αν μεταδίδουμε δεδομένα αυτή τη στιγμή. = 1 Τέλος Αν LoopEnd Sub

Συνιστάται: