Robofun 機器人論壇

 找回密碼
 申請會員
搜索
熱搜: 活動 交友 discuz
查看: 2786|回復: 1
打印 上一主題 下一主題

字串轉變數的問題

[複製鏈接]
跳轉到指定樓層
1#
發表於 2014-12-19 21:34:26 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式
我練習了一下識別特定的格式的字串,再把識別正確的字串轉變數,可是不知到為什麼回傳的變數(val)都是回傳0,程式碼再下面,請告訴我哪裡出問題了(拜託),想了好久都想不到。
int valL;
int valR;
String string;
char Cend = ',';
char Cbegin = 'A';
char currentC;
void setup(){
  Serial.begin(9600);
}
void loop(){
  while(Serial.available()){
  currentC = Serial.read();
  if(currentC == Cbegin){
    string = "";
    while(currentC != Cend){
    currentC = Serial.read();
    if(currentC != Cend){
    string += currentC;
    delay(2);
   
   }
  }
  if(currentC == Cend){
    Serial.println(string);
    handle(string);
    string = "";
   }
  }
}
}
void Left(String string){
  if(string.substring(0,1) == "L"){
    char temp[20];
    string.substring(1).toCharArray(temp,19);
    int val = atoi(temp);
    valL = val;
  }
}
void Right(String string){
  if(string.substring(0,1) == "R"){
    char temp[20];
    string.substring(1).toCharArray(temp,19);
    int val = atoi(temp);
    valR = val;
  }
}
void handle(String string){
  Left(string);
  Right(string);
  Serial.print("Left: ");
  Serial.print("");
  Serial.print(valL);
  Serial.print(" ");
  Serial.print("Right: ");
  Serial.print("");
  Serial.print(valR);
  Serial.println();
}
  順便把我執行的結果給大家看
�123
Left: 0 Right: 0
�23213
Left: 0 Right: 0
�213
Left: 0 Right: 0
傳多少都是零,拜託幫忙除錯,兼教學。
2#
 樓主| 發表於 2014-12-21 08:52:44 | 只看該作者
回復 1# ingenuus


    以解決 在if(currentC == Cbegin){
              readString = "";
    的中間加上delay(2);
    就好了。
您需要登錄後才可以回帖 登錄 | 申請會員

本版積分規則

小黑屋|手機版|Archiver|機器人論壇 from 2005.07

GMT+8, 2025-1-31 10:42 , Processed in 0.157831 second(s), 7 queries , Apc On.

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回復 返回頂部 返回列表