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;
}
}
串口上輸入一個數據,會顯示出對應長整型,和浮點型數據