Arduino 串口接受字符型數據轉整形

Arduino 串口字符型轉整形

在做藍牙接受實驗的時候Arduino 串口接收的,都是字符型數據,有時候我們希望把串口接收到的數據進行運算,就需要把數據轉換成整形,如果用itoa()函數的話最多轉換三位數,我之前想找一個現成的但是搜不到,所以我自己寫了一個,可以一次性在串口接受9位字符並轉換成整型數據。

傳換成長整型

unsigned long number=0;
void setup() 
{
     Serial.begin(9600);             
}

void loop() 
{
     while (Serial.available() > 0)         
     {   
          number =(number+int(Serial.read()-48))*10;     
          delay(2);   
     } 
     while(number>0)
     { 
      Serial.println(number/10);
      number=0;
     }
}

燒入代碼,在串口輸入一個串數字,他會原封不動的顯示出來

轉換成浮點型

爲了更直觀一點體現它可以被計算了,你也可以再把數據強制轉換成浮點型

unsigned long number=0;
void setup() 
{
     Serial.begin(9600);                
}

void loop() 
{
     while (Serial.available() > 0)         
     {   
          number =(number+int(Serial.read()-48))*10;     
          delay(2);   
     } 
     while(number>0)
     { 
      Serial.print("所轉換成的長整型數據爲");
      Serial.println(number/10);
      float my_float=float(number)/10000;
      Serial.print("所轉換成的浮點型數據爲");
      Serial.println(my_float);
      number=0;
     }
}

實例圖片
串口上輸入一個數據,會顯示出對應長整型,和浮點型數據

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章