Ho sviluppato un'applicazione che invia dati per un Arduino tramite la porta seriale, ma non riesco a capire come posso riceverlo su Arduino. Invio una stringa dalla porta seriale per Arduino e Arduino lo riceve, ma non funziona nel mio codice (su Arduino, ricevo un byte alla volta).Come posso ricevere dati da un PC su un Arduino?
Aggiornamento: si sta lavorando;)
Il codice in C# che invia i dati:
using System;
using System.Windows.Forms;
using System.Threading;
using System.IO;
using System.IO.Ports;
pulic class senddata() {
private void Form1_Load(object sender, System.EventArgs e)
{
//Define a serial port.
serialPort1.PortName = textBox2.Text;
serialPort1.BaudRate = 9600;
serialPort1.Open();
}
private void button1_Click(object sender, System.EventArgs e)
{
serialPort1.Write("10"); //This is a string. The 1 is a command. 0 is interpeter.
}
}
Il codice di Arduino:
ho aggiornare il codice
#include <Servo.h>
Servo servo;
String incomingString;
int pos;
void setup()
{
servo.attach(9);
Serial.begin(9600);
incomingString = "";
}
void loop()
{
if(Serial.available())
{
// Read a byte from the serial buffer.
char incomingByte = (char)Serial.read();
incomingString += incomingByte;
// Checks for null termination of the string.
if (incomingByte == '0') { //When 0 execute the code, the last byte is 0.
if (incomingString == "10") { //The string is 1 and the last byte 0... because incomingString += incomingByte.
servo.write(90);
}
incomingString = "";
}
}
}
forse un posto migliore per chiedere: http: //electronics.stackexchange.it/ – vikingosegundo