logo

Arduino Serial.read() en Serial.write()

Arduino Serieel.lezen( )

De Serieel.lezen( ) in Arduino leest de binnenkomende seriële gegevens in de Arduino. De int gegevenstype wordt hier gebruikt. Het retourneert de eerste databyte van de binnenkomende seriële data. Het retourneert ook -1 als er geen gegevens beschikbaar zijn op de seriële poort.

De syntaxis die wordt gebruikt bij de Arduino-programmering is Serial.read( ),

netwerken en typen

Waar,

serieel : Het duidt het seriële poortobject aan.

Arduino Serial.read() en Serial.write()

De gegevens worden opgeslagen in de vorm van bytes, waarbij 1 byte = 8 bits.

Laten we het begrijpen met een voorbeeld.

Overweeg de onderstaande code.

 int arrivingdatabyte; void setup( ) { Serial.begin(9600); } void loop( ) { if(Serial.available( ) > 0) { arrivingdatabyte = Serial.read( ); // It will read the incoming or arriving data byte Serial.print('data byte received:'); Serial.println(arrivingdatabyte); } } 

De bovenstaande code legt duidelijk uit dat de Serial.available( ) wordt gebruikt om het beschikbare aantal bytes te verkrijgen als dit groter is dan 0. De functie Serial.read( ) leest de gegevens uit de databyte en drukt een bericht af als de gegevens is ontvangen. De gegevens worden van de seriële monitor naar de Arduino verzonden.

Serieel.readString( )

Het leest de binnenkomende seriële gegevens uit de seriële buffer in de string. De Snaar gegevenstype wordt hier gebruikt.

Arduino Serial.read() en Serial.write()

Laten we het begrijpen met een voorbeeld.

Overweeg de onderstaande code.

 String b; void setup( ) { Serial.begin(4800); } void loop( ) { while( Serial.available( ) ) { b = Serial.readString( ); Serial.println(b); } } 

De bovenstaande code legt duidelijk uit dat de Serieel.readString( ) wordt gebruikt om de seriële gegevens in de string te lezen. De hier opgegeven tekenreeks is B .

De gegevens in de functie Serieel worden in de bovenstaande code als een string gelezen.

Hoe seriële gegevens worden gelezen door Serial.readString( ) en Serial.read( )?

De functie Serial.read( ) leest de gegevens in termen van bytes, terwijl de Serial.readString( ) de gegevens leest in de term string.

Serieel.schrijven( )

Het stuurt de binaire gegevens naar de seriële poort in Arduino. De gegevens via Serial.write worden verzonden als een reeks bytes of als een enkele byte. Het gegevenstype is maat_t .

afdrukinstructie in Java

De functie Serial.write( ) retourneert het aantal geschreven bytes.

Als we de cijfers van getallen die door de tekens worden weergegeven willen verzenden, moeten we de functie Serial.print( ) gebruiken in plaats van Serial.write( ).

Arduino Serial.read() en Serial.write()

De Serial.write( ) wordt gedeclareerd in drie formaten, die hieronder worden weergegeven:

  • schrijf(str)
  • schrijf(waarde)
  • schrijven(buffer, len)

Waar,

Serieel : Het duidt het seriële poortobject aan.

str : De str betekent string, die de gegevens verzendt als een reeks bytes.

buffer : Het is een array die wordt gebruikt om de gegevens als een reeks bytes te verzenden.

waarde : Het verzendt de gegevens als één byte naar de Arduino.

alleen : Dit geeft het aantal bytes aan dat vanuit de array kan worden verzonden.

Laten we het begrijpen met een eenvoudig voorbeeld.

Overweeg de onderstaande code.

 void setup( ) { Serial.begin(14400); } void loop( ) { Serial.write(55); // the specified value is 55. // Serial.write( ) send the data as a byte with this value (55). int Bytestosend = Serial.write( ' Arduino' ); // It sends the Arduino string. //The length of the string is a return parameter in this function. }