2016-10-24 5 views
0

私は無線LAN接続を使ってArduinoプロジェクトをやっています。シリアルナンバーを使って整数を送る方法が不思議でした。これはこれまで私が持っていたものです:arduinoでシリアルモーターを使って整数を送信する

 if(Serial.available()) { 
     while(Serial.available()) { 

     char c = Serial.read(); 

     if(c == '\n') { 
      send_message(client, tx_buffer); 
      tx_buffer = ""; 
     } else tx_buffer += c; 
    } 
    } 

これは、シリアルモーターを通して文字を送信するためです。あなたは整数のためにそれをどうしますか?あなたは、シリアルモニターに入力し

+0

?あなたは123 => '1' '2' '3'(または "123 \ n")を知っています – KIIV

答えて

0

何がそのASCII文字に変換されるので、3を入力すると、実際にこれは、符号なし整数を得るために働く必要があります「3」== 51を送信します:テキストとして送信についてどのように

unsigned long tx_buffer = 0; 

if (Serial.available()) { 
    while(Serial.available()) { 
    char c = Serial.read(); 
    if(c == '\r') { 
     send_message(client, tx_buffer); 
     tx_buffer = 0; 
    } 
    else 
     tx_buffer = (tx_buffer * 10) + (c - '0'); 
    } 
} 
関連する問題