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;
     }
}

实例图片
串口上输入一个数据,会显示出对应长整型,和浮点型数据

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