0
我今天早些時候問過這個問題,但已經完善了我的代碼,所以我在這裏提出了一個新問題。Arduino到C#數據接收
這是我此刻的代碼:
的Arduino代碼:
void setup()
{
pinMode(13,OUTPUT);
digitalWrite(13,LOW);
Serial.begin(9600);
}
void loop()
{
if(Serial.available() > 0)
{
char letter = Serial.read();
if (letter == 'A')
{
digitalWrite(13,HIGH);
Serial.println("THE LED IS ON");
}
else if (letter == 'B')
{
digitalWriter(13,LOW);
Serial.println("THE LED IS OFF");
}
}
}
我有一個onButton,offButton和textboxInterface C#程序。這是我在C#中的代碼。
C#代碼:(?)
using System.IO.Ports;
public partial class Form1: Form
{
public static System.IO.Ports.SerialPort serialPort1;
private delegate void LineReceivedEvent(string line);
public Form1()
{
InitizlizeComponent();
System.ComponentModel.IContainer components = new System.ComponentModel.Container();
serialPort1 = new System.IO.Ports.SerialPort(components);
serialPort1.PortName = "COM7";
serialPort1.BaudRate = 9600;
serialPort1.DtrEnable = true;
serialPort1.Open();
serialPort1.DataReceived += new SerialDataReceivedEventHandler(serialPort1_DataReceived);
}
private static void serialPort1_DataReceived(object sender, SerialDataEventReceivedEventArgs e)
{
SerialPort sp = (SerialPort)sender;
string indata = sp.ReadExisting();
textboxInterface.Text = indata;
}
我認爲這是基本上是正確的,我得到的唯一錯誤是作爲最後textboxInterface一個錯誤來了說:*的對象引用是必需的非靜態字段,方法或屬性「Arduino_Interface.Form1.textboxInterface」 *
可有人請告訴我我在做什麼傻事......
不要刪除你的問題,然後發佈相同的東西。你有一個編輯按鈕。 –
好的,對不起。我認爲我的代碼中有足夠的變化來拯救它。將來不會做。 –
你的textboxInterface有問題。 嘗試創建一個新的虛擬winform項目,並創建文本框,模擬代碼來訪問其Text屬性,沒有任何這些serialport的東西,將它與您的代碼進行比較,就像您的文本框沒有正確解析(您手寫它?或副本正貼?) – Kelmen