gpt4 book ai didi

c# - 使用 arduino 读取从 C# 发送的字符串

转载 作者:行者123 更新时间:2023-11-30 20:38:26 24 4
gpt4 key购买 nike

如果我仍在学习 C# 和 arduino 通信,我将不胜感激。我正在尝试接收从 C# 发送的 arduino 上的一些数据,但无法在串行监视器上看到发送数据。我想知道我如何接收发送数据。以下是我的代码:

C#:

protected void Button7_Click(object sender, EventArgs e)
{
{
SerialPort comPort = new SerialPort("COM3", 9600, Parity.None, 8, StopBits.One);
try
{
comPort.Open();
comPort.Write(TextBox1.Text);
comPort.Write("Delete");
comPort.Close();
}
catch (UnauthorizedAccessException ex)
{
Response.Write("Error:" + ex.ToString());
}
try
{
OleDbConnection conn = new OleDbConnection("Provider= Microsoft.Jet.OLEDB.4.0;Data Source=" + Server.MapPath("App_Data\\Stock.mdb"));
conn.Open();
Int32 ash = Convert.ToInt32(TextBox1.Text);
string deleteQuery = "delete from Instock where ID= '" + ash + "'";
OleDbCommand com = new OleDbCommand(deleteQuery, conn);
com.ExecuteNonQuery();
Response.Write("Item deleted successfully");
Response.Redirect("UpdateDB.aspx");
conn.Close();
}
catch (Exception ex)
{
Response.Write("Error:" + ex.ToString());
}
}
}

Arduino:

#include <EEPROM.h>
#include <SoftwareSerial.h>
SoftwareSerial xbee(2, 3);
int incoming;
int id;
int rea;
int comp=0;
void setup() {
Serial.begin(9600);
xbee.begin( 9600 );
}

void loop() {
if(Serial.available())
{
Serial.print("hhhh");
id = Serial.read();
incoming = Serial.read();
if(id!='New')
{
xbee.println(id);
xbee.println(incoming);
EEPROM.write(id, incoming);
rea = EEPROM.read(id);
Serial.print(id);
}
else
{
EEPROM.write(comp, incoming);
rea = EEPROM.read(id);
Serial.print(id);
comp+=1;
}
}
}

最佳答案

首先,我认为定义一种灵活且适合您的通信要求的消息格式非常重要(例如发送/接收具有不同数据类型的多个参数的命令等)。

幸运的是,已经有一个综合性的库,叫做 CmdMessenger ,它处理 Arduino 和 C# 应用程序之间的双向通信。库的使用很简单,有几个examples可以在网上找到。我认为很容易根据您的个人需求更改示例。

关于c# - 使用 arduino 读取从 C# 发送的字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29005776/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com