2020年2月3日 星期一

練習角度









































angle=angle*10+ch-'0';這段我看不是往懂,我的了解是angle=(angle*10)+(ch-'0')
字母-字母=都沒有了(a-a=0)
1-0(字母1-字母0差一格)
2-0差兩格 以此類推
括號起來字元就變數值了
*10倍幫忙轉十進位,後面加是個位數即一位一位相加(10變十進位,+多少變個位數)
1.先輸入9 angle=angle*10+9-‘0’ ……angle=9
2.再輸入0angle=9*10+0-‘0’     ……angle=90
3. 再輸入a,跳到else if(ch==’a’),執行servo.write(90);?
最後重設角度angle=0代表沒有任何角度,下次要在讀值又重新開始十位數+個位數
20a90a代表三個字母,只要是SerialCOM傳永遠是字母
鍵盤都是ascii、電報看的到的字母
字母可以比大小加單引號(ch-‘0’)

PC傳數字(整數數值例長短整數即binary)、字母



int angle = 0;
char ch = '7';
int x = 0;
void setup()
{
  // put your setup code here, to run once:
  Serial.begin(9600);
  angle = angle * 10 + (ch - '0');
  Serial.println(angle);
}

void loop()
{
  // put your main code here, to run repeatedly:
  if (x == 0)
  {
    ch='0';
    angle = angle * 10 + (ch - '0');
    Serial.println(angle);
    x = 1;
  }
  if(angle==90 && x==1)
  {
    Serial.println("you got it!!");
    x=100;
  }
}

沒有留言:

張貼留言

algorithm

 #include <iostream> #include <string.h> using namespace std; int main(int argc, char** argv)  { for(int j=2;j<=100;j++)//j...