Co dokładnie jest drut.Funkcja zapisu?

Co dokładnie jest drut.Funkcja zapisu?
Biblioteka Wire w Arduino zapewnia łatwy sposób na wymianę danych między I2C urządzenia. Biblioteka drutu umożliwia komunikację między dwoma lub więcej urządzeniami za pośrednictwem interfejsu dwuprzewodowego SDA I Scl. Biblioteka drutu ma funkcję o nazwie "Drut.pisać()" który służy do wysyłania danych z jednego urządzenia do drugiego.

Tutaj opiszemy drut Arduino.Funkcja zapisu () i jej zastosowanie w programowaniu Arduino.

Co to jest drut.Funkcja zapisu ()

Drut Arduino.Write () to funkcja, która pomaga płytom Arduino wysyłać dane z jednego urządzenia do drugiego za pośrednictwem magistrali I2C. Funkcja przyjmuje pojedynczy argument, który jest dane, które należy wysłać. Dane mogą mieć postać liczby całkowitej, postaci lub tablicy liczb całkowitych lub znaków.

Drut.Funkcja zapisu () wysyła dane do magistrali I2C w formie binarnej. Oznacza to, że dane są wysyłane jako seria 1 i 0s. Urządzenie odbierające interpretuje dane na podstawie własnego programowania i przekształca je z powrotem w użyteczny format.

Składnia

Składnia drutu.Funkcja zapisu () to:

Gdy należy przekazać wartość liczb całkowitą, użyj:

Drut.napisz (wartość);

Gdy ciąg ma zostać przeniesiony za pomocą komunikacji I2C:

Drut.zapisz (ciąg);

Gdy należy przekazać określone dane takich jak tablice bajtów o określonej długości, użyj następującej składni:

Drut.zapisz (dane, długość);

Parametry

  • wartość: Wartość pojedynczego bajtu.
  • strunowy: Ciąg do wysyłania jako bajtów.
  • dane: Tablica danych do wysłania.
  • długość: Nie ma bajtów do transmisji.

Powrót

Całkowite bajty odczytu z danych.

Jak drut.Write () Funkcja praca

Aby użyć przewodu.Funkcja zapisu (), najpierw musisz zainicjować magistrację I2C za pomocą przewodu.Funkcja początkowa (). Ta funkcja konfiguruje komunikację między dwoma urządzeniami.

Po zainicjowaniu magistrali I2C możesz następnie użyć przewodu.Zapisz () funkcja wysyłania danych. Funkcja przyjmuje dane, które chcesz wysłać jako jego argument.

Na przykład, Aby wysłać numer 42 do innego urządzenia, użyjesz następującego kodu:

Drut.Napisz (42);

Jeśli chcesz wysłać ciąg znaków, możesz zamiast tego użyć szeregu znaków:

Char MyString [] = „Hello World”;
Drut.Write (MyString);

Drut.Funkcję zapisu () można również użyć do wysyłania wielu wartości jednocześnie. Aby to zrobić, możesz użyć szeregu liczb całkowitych:

int myarray [] = 1, 2, 3, 4, 5;
Drut.Write (myarray, sizeof (myarray));

W tym przykładzie drut.Funkcja zapisu () wysyła całą tablicę liczb całkowitych do drugiego urządzenia.

Jaki jest adres I2C dla przewodu.Funkcja zapisu ()

W Arduino do korzystania z komunikacji I2C między urządzeniami musisz określić adres urządzenia i dane, które chcesz wysłać. Kod do używania przewodu.Funkcja zapisu () zazwyczaj wygląda tak:

Drut.początkowa (adres);
Drut.zapisz (dane);
Drut.endtransmission ();

W tym kodzie „adres” to adres urządzenia, do którego chcesz wysłać dane, a „dane” to dane, które chcesz wysłać. Drut.Funkcja początkowa () inicjuje transmisję, drut.Funkcja zapisu () wysyła dane i przewód.Funkcja endtransmission () kończy transmisję.

Następujący przewodnik artykułów na temat tego, jak można sprawdzić adres I2C dla urządzeń i połączyć je z płytką Arduino:

  • Co to jest autobus I2C w Arduino?
  • Jak połączyć LCD z Arduino za pomocą modułu I2C
  • Jak używać wielu urządzeń I2C z Arduino
  • Jak zeskanować adres I2C za pomocą Arduino nano

Często zadawane pytania (FAQ)

P: Jaka jest różnica między drutem.Write () i przewód.wysłać()?

Drut.Write () Funkcja i drut.Funkcja send () są funkcjonalnie równoważne. Jedyną różnicą jest ich nazwiska.

P: Czy mogę użyć przewodu.Zapisz () funkcja wysyłania danych do określonego urządzenia w magistrali I2C?

Nie, drut.Funkcja zapisu () wysyła dane do wszystkich urządzeń w magistrali I2C. Jeśli chcesz wysłać dane do określonego urządzenia, musisz zająć się tym urządzeniem za pomocą jego unikalnego adresu.

P: Czy mogę użyć przewodu.Zapisz () funkcja wysyłania danych na płytę Arduino z innego mikrokontrolera?

Tak, jeśli drugi mikrokontroler obsługuje protokół I2C i jest podłączony do tego samego magistrali I2C, co tablica Arduino.

P: Jakie są maksymalne dane, które można przenieść za pomocą przewodu.Funkcja zapisu ()?

Maksymalny przewód danych.Funkcja zapisu () może wysłać 32 bajty.

P: Jak odbierać dane wysyłane za pomocą przewodu.Funkcja zapisu ()?

Aby odbierać dane wysyłane za pomocą przewodu.Funkcja zapisu (), musisz zdefiniować drut.odczyt () na odbiorniku kodu Arduino.

Wniosek

Drut.Write () Funkcja w bibliotece drutu dla Arduino służy do wysyłania danych z jednego urządzenia do drugiego za pośrednictwem magistrali I2C. Rozumiejąc podstawy biblioteki Wire, możesz zacząć budować własne projekty, które komunikują się z innymi urządzeniami i czujnikami.