Tôi đã phát triển một ứng dụng gửi dữ liệu cho một Arduino bằng cổng nối tiếp, nhưng tôi không thể hiểu làm thế nào tôi có thể nhận được nó trên Arduino. Tôi gửi một chuỗi bởi cổng nối tiếp cho Arduino và Arduino nhận nó, nhưng nó không hoạt động trong mã của tôi (trên Arduino, tôi nhận được một byte tại một thời điểm).Làm cách nào để nhận dữ liệu từ PC sang Arduino?
Cập nhật: nó làm việc;)
Mã trong C# sẽ gửi dữ liệu:
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.
}
}
Mã Arduino:
Tôi có Cập nhật Bộ luật
#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 = "";
}
}
}
có thể là một nơi tốt hơn để đặt câu hỏi: http: //electronics.stackexchange.com/ – vikingosegundo