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;
}
}
串口上输入一个数据,会显示出对应长整型,和浮点型数据