2015-03-12 2 views
-2

будет признателен за любую помощь, которую я все еще изучаю C# и коммуникацию arduino .. Я пытаюсь получить некоторые данные по отправке arduino с C#, но я не вижу отправки данных на последовательном мониторе. я хотел бы знать, как я получаю данные отправки. Ниже приведены мои коды:Чтение строк посылается с 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; 
    } 
    } 
} 

ответ

0

Прежде всего, я считаю, что это очень важно определить формат сообщения, который является гибким и соответствует вашим требованиям (например, команды отправки/приема с несколькими аргументами с разными типами данных и т. д.).

К счастью, уже существует обширная библиотека под названием CmdMessenger, которая обрабатывает двунаправленную связь между Arduino и C# -приложением. Использование библиотеки очень простое, и есть несколько examples, доступных в Интернете. Я думаю, что легко изменить примеры для ваших индивидуальных потребностей.

Смежные вопросы