Სარჩევი:

ორი OOBoards– ის ერთმანეთთან დაკავშირება I2C– ის გამოყენებით: 4 ნაბიჯი
ორი OOBoards– ის ერთმანეთთან დაკავშირება I2C– ის გამოყენებით: 4 ნაბიჯი

ვიდეო: ორი OOBoards– ის ერთმანეთთან დაკავშირება I2C– ის გამოყენებით: 4 ნაბიჯი

ვიდეო: ორი OOBoards– ის ერთმანეთთან დაკავშირება I2C– ის გამოყენებით: 4 ნაბიჯი
ვიდეო: NEW EXOTIC OUROBOROS BUILD • THE DIVISION • PARADISE LOST INCURSION EXOTIC • 2 SEASON 2 YEAR 5 2023 2024, ნოემბერი
Anonim
ორი OOBoards– ის დაკავშირება I2C– ის გამოყენებით
ორი OOBoards– ის დაკავშირება I2C– ის გამოყენებით

ეს ინსტრუქცია მოიცავს იმას, თუ როგორ უნდა დააკავშიროთ ორი OOBoards I2C გამოყენებით.

ნაბიჯი 1: დაკავშირება I2C ქსელის ავტობუსთან

დაკავშირება I2C ქსელის ავტობუსთან
დაკავშირება I2C ქსელის ავტობუსთან
დაკავშირება I2C ქსელის ავტობუსთან
დაკავშირება I2C ქსელის ავტობუსთან

OOBoards– ზე არის ორი I2C ავტობუსი, ადგილობრივი ავტობუსი და ქსელის ავტობუსი.

OOPIC კოდი არსებითად არის ინტერპრეტირებული ენა, ანუ "კოდი" ინახება EEPROM- ში და იკითხება/ინტერპრეტირდება მიკროპროცესორის მიერ რეალურ დროში. EEPROM იყენებს LOCAL I2C ავტობუსს მიკროკონტროლერთან დასაკავშირებლად. თუ თქვენ შეხედავთ ამ ადგილობრივ ავტობუსს ოსცილოსკოპზე, თქვენ ნახავთ მუდმივ ლაპარაკს. OOBoards დაფებზე, ადგილობრივი ავტობუსი არის ის, რაც დაკავშირებულია I2C კონექტორთან, ეს სულაც არ არის ის, რაც ჩვენ გვინდა. NETWORK ავტობუსი ჩვეულებრივ არის ავტობუსი, რომელიც გამოიყენება სხვა მოწყობილობებთან/ოპიკებთან კომუნიკაციისთვის, OOBoards– ზე ამ ავტობუსს არ აქვს კონექტორი. ამ ავტობუსზე წვდომის მიზნით, თქვენ უნდა შეაერთოთ მავთულები მიკროკონტროლის 42 და 37 ქინძისთავებზე (სქემატურად აღინიშნება N_SDA, N_SCL შესაბამისად).

ნაბიჯი 2: დაამატეთ Pullup Resistors

მას შემდეგ რაც SDA და SCL კავშირები დამყარდება თითოეულ პროცესორზე, ორ დაფას შეუძლია

ერთმანეთთან უნდა იყოს დაკავშირებული SDA– ს SDA– სთან, SCL– ს SCL– თან და დაფებს შორის საერთო მიწის მავთულის შეერთებით. თქვენ ასევე დაგჭირდებათ გამწევი რეზისტორი თითოეულ ხაზზე (მე გამოვიყენე 12k, მაგრამ ეს არის ზუსტად ის, რაც მე გარშემო ვიწექი). გაითვალისწინეთ, რომ თქვენ გჭირდებათ მხოლოდ ერთი გამყვანი რეზისტორი თითო ხაზზე სულ ორ რეზისტორზე (არა 4).

ნაბიჯი 3: დაპროგრამეთ მონა

ახლა, როდესაც ფიზიკური კავშირები არსებობს, თქვენ დაგჭირდებათ მონა მიკროკონტროლერის დაპროგრამება. ქვემოთ დავამატე რამდენიმე კოდი, რომელიც უნდა დაგეწყოთ.

Dim SLAVE როგორც ახალი oDDELinkDim LED როგორც ახალი oDIO1Sub მთავარი () და გამოაქვეყნეთ ჩვენი I2C მისამართი 2 (შენიშვნა, ეს უნდა ემთხვეოდეს დისტანციურ და იმ მისამართს, რომელიც ჩვენ დავადგინეთ სამაგისტრო კოდში) ooPIC. Node = 2 & apossetup LED LED. IOLine = 5 LED. მიმართულება = cvOputput & aposnow, დააკავშირეთ ჩვენი DDELink ობიექტის გამომავალი & aposthe LED და ჩართეთ იგი … ახლა ავტომატურად, LED ანათებს SLAVE. Output. Link (LED) SLAVE. Operate = cvTrueEnd Sub

ნაბიჯი 4: პროგრამირება სამაგისტრო

დაბოლოს, დაპროგრამეთ სამაგისტრო მიკროკონტროლერი. დიდი ყურადღება მიაქციეთ ხაზებს, რომლებიც ადგენს DDELink- ის. Location თვისებას: თუ ეს სწორად არ არის დაყენებული, ეს არ იმუშავებს!

Dim Master როგორც ახალი oDDELinkDim მავთული, როგორც ახალი oWireDim hz1 როგორც ახალი oBitSub Main () და დააკავშირეთ 1 წამიანი ქრონომეტრი იმ დონემდე, რომლითაც ჩვენ შეგვიძლია შევიდეთ და ეს ბიტი ახლა გადართულია ერთ მავთულზე ერთხელ. შეყვანა. ბმული (ooPIC. Hz1) მავთული. გამომავალი ლინკი (hz1) ობიექტს ასევე აქვს.გამომავალი თვისება, რომელიც გამოიყენება და როდესაც ჩვენ ვიღებთ სამაგისტრო რეჟიმში. შეყვანის. ბმული (hz1) & ეს არის დისტანციური მიკროკონტროლის I2C მისამართი, გაითვალისწინეთ, რომ & მონების კოდის დადგენა, ჩვენ ვამბობთ, რომ მას აქვს მისამართი 2 Master. Node = 2 & aposugh… ეს არის ყველაზე საშინელი ნაწილი, ეს არის DDELink & aposobject- ის "მისამართი" მონათა და aposs მეხსიერების სივრცეში. ამ რიცხვის გასარკვევად, თქვენ უნდა გახსნათ და შეადგინოთ მონა კოდი, შემდეგ კი გადადით View-> Compiled Code- ზე. & aposlook რაღაცისთვის: & aposL *. კონსტრუქცია.დაიწყე; ჩამქრალი როგორც ახალი oDDELink & aposwhere * არის ნებისმიერი რიცხვი და არის შენი DDELink ობიექტის სახელი და გააგზავნე შენი მონა კოდი. მის ქვემოთ დაუყოვნებლივ ხაზი უნდა კითხულობდეს მსგავს რამეს: & aposC0020: 041; ეს … მისამართი & aposthe ნომერი მარჯვნივ & apos: & apos არის მონა DDELink ობიექტის ოსტატის მისამართი. მდებარეობა = 41 & aposthis ეუბნება ობიექტს, რომელსაც ჩვენ გამოგიგზავნით მონაცემები (ანუ, დააკოპირეთ მონაცემები ჩვენი.შესაძრავი ქონება და მონები მოცილება.გამომავალი ქონება (გაითვალისწინეთ, თუ ამას მიიღებთ მისაღებად, პირიქით) ოსტატი. მიმართულება = cv გაგზავნა და გაგზავნა, მაგრამ ჯერ არაფერი ხდება … ოსტატი. მოქმედება = cvTrue Do & aposcheck რომ ნახოთ ჩვენ ამჟამად ვაგზავნით მონაცემებს თუ Master. გადაცემა = cvFalse შემდეგ და ამ მნიშვნელობის 1 -ზე ამოღება გამოიწვევს მასტერს გაუგზავნოს მნიშვნელობა მონასა და აპოსნოტს, ეს ავტომატურად გადატვირთულია 0 -ზე გადაცემის ოსტატის დასრულების შემდეგ. სინქრონიზაცია = 1 ბოლოს თუ LoopEnd Sub

გირჩევთ: