Robofun 機器人論壇

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

一般Arduino program 問題

[複製鏈接]
跳轉到指定樓層
1#
發表於 2015-3-26 19:05:19 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式
各位大大好~
最近我在學arduino的programming, 下面問題令我苦思了一段時間也沒有DEL不了BUG

下面的CODE我想把arrary內的a和b轉成4,0,3,0四個數字, 然後把四個數字順序和放入Step00.Step01,Step02,Step03內...
但是卻改不到想要的結果...有大大看到BUG在那嗎?


PS.為什麼我打char StepBuff[10]改成int StepBuff[10]就有BUG出現~

  1. char Step00;char Step01;char Step02;char Step03;char StepBuff[10];const byte cmmd = 32;char ReceivedChars[cmmd] = {'a', 'b'};int c =0;
  2. void setup() {  Serial.begin(9600);  Serial.println("<Ardunio & Display is ready>");}
  3. void loop() {  while (c == 0){  MappingChars();  LoadingDegree();  Serial.print("The value of StepBuff is");  Serial.println(StepBuff);  Serial.print("The value of Step00 is");  Serial.println(Step00);  Serial.print("The value of Step01 is");  Serial.println(Step01);  c++;}}
  4. void MappingChars(){for(int i=0; i<2; i++){if (ReceivedChars[i] = 'a'){StepBuff[i] = 4;i++;StepBuff[i] = 0;i--;}
  5. if (ReceivedChars[i] = 'b'){StepBuff[i] = 3;i++;StepBuff[i] = 0;i--;}}}
  6. void LoadingDegree(){
  7. for(int k=0; k<4; k++){  if (StepBuff[k] == 0 && k == 0){Step00 = StepBuff[k];}
  8. if (StepBuff[k] == 4 && k == 0){Step00 = StepBuff[k];}}}
複製代碼
2#
 樓主| 發表於 2015-3-26 19:59:17 | 只看該作者
CODE變得好亂..我再貼一次

char Step00;
char Step01;
char StepBuff[10];
const byte cmmd = 32;
char ReceivedChars[cmmd] = {'a', 'b'};
int c =0;

void setup()
{
  Serial.begin(9600);
  Serial.println("<Ardunio & Display is ready>");
}

void loop() //
{
  while (c == 0)
{
  MappingChars();
  LoadingDegree();
  Serial.print("The value of StepBuff is"); //
  Serial.println(StepBuff);
  Serial.print("The value of Step00 is");
  Serial.println(Step00);
  Serial.print("The value of Step01 is");
  Serial.println(Step01);
  c++;
}
}

void MappingChars()
{
for(int i=0; i<2; i++)
{
if (ReceivedChars[i] = 'a')
{
StepBuff[i] = 4;
i++;
StepBuff[i] = 0;
i--;
}

if (ReceivedChars[i] = 'b')
{
StepBuff[i] = 3;
i++;
StepBuff[i] = 0;
i--;
}
}
}

void LoadingDegree()
{

for(int k=0; k<4; k++)
{
  
if (StepBuff[k] == 0 && k == 0)
{
Step00 = StepBuff[k];
}

if (StepBuff[k] == 4 && k == 0)
{
Step00 = StepBuff[k];
}
}
}
您需要登錄後才可以回帖 登錄 | 申請會員

本版積分規則

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

GMT+8, 2025-1-31 07:22 , Processed in 0.196109 second(s), 7 queries , Apc On.

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

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