arduino int转char_关于arduino串口接收16进制转换成int类型的问题

arduino int转char_关于arduino串口接收16进制转换成int类型的问题先上代码 String recipt bool flag false int data 7 0 void setup Serial begin 38400 SERIAL 8N1 void loop int i j while

大家好,我是讯享网,很高兴认识大家。

先上代码:

String recipt="";

bool flag=false;

int data[7]={0};

void setup() {

Serial.begin(38400,SERIAL_8N1);

}

void loop() {

int i,j;

while (Serial.available()) {//从串口中读取数据

int in = (char)Serial.read();

recipt+=in;

recipt+=',';

delay(2);

flag=true;

}

if(recipt.length()>0){//先输出一下接收到的数据

Serial.print(recipt);

Serial.print(' ');


讯享网

}

for(j=i=0;i

if(recipt[i]==','){

j++;

}else{

data[j]=data[j]*10;

data[j]=data[j]+(recipt[i])-48; //这一行是最重要的,把string类型的0~9转换成int型的0~9

}

}

if(flag){//输出转换成int型的数据。

for(i=0;i<7;i++){

Serial.print(data[i]);

Serial.print(' ');

}

}

flag=false;

recipt="";

}

也没什么说的。只是数据类型转换时小心点,string类型的‘0’和int类型的0是不一样的.

小讯
上一篇 2025-03-25 17:01
下一篇 2025-04-08 21:24

相关推荐

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容,请联系我们,一经查实,本站将立刻删除。
如需转载请保留出处:https://51itzy.com/kjqy/38658.html