Arduino 串行监视器没有输出

Arduino 串行监视器没有输出,arduino,Arduino,我试图将传感器值转换为二进制,存储在一个小字符数组(tbuf)中,并将小数组连接到一个更大的数组中。最后,我想通过serial.write()。这是我迄今为止尝试过的代码: void setup(){ 序列号开始(115200); } void循环(){ 如果(Serial.available()>0){ int s=251; char-pbuf[78]; char-tbuf[11]; itoa(s,tbuf,2); strcat(pbuf、tbuf); 序列号println(pbuf); }

我试图将传感器值转换为二进制,存储在一个小字符数组(
tbuf
)中,并将小数组连接到一个更大的数组中。最后,我想通过
serial.write()。这是我迄今为止尝试过的代码:

void setup(){
序列号开始(115200);
}
void循环(){
如果(Serial.available()>0){
int s=251;
char-pbuf[78];
char-tbuf[11];
itoa(s,tbuf,2);
strcat(pbuf、tbuf);
序列号println(pbuf);
}
Serial.end();
}
它不会将永久缓冲区(
pbuf
)或任何东西输出到串行监视器。我对串行监视器的输出为零

如果您能就如何从类似于此的代码中获得输出提出任何建议,我将不胜感激。

请勿在函数
loop()
中使用
Serial.end()
。您的代码只运行一次
Serial.begin()
,如果序列号不可用,则只调用
Serial.end()

也许你可以试试这种方法:

int varA=0;
无效设置(){
序列号开始(115200);
}
void循环(){
如果(Serial.available()>0){
varA=Serial.parseInt();//或Serial.parseFloat();
序列号println(varA);
}
}

是否有
Serial.available()
显示的数据可供读取?换句话说,你打字了吗
pbuf
未初始化,为什么要调用
Serial.end()?所以if serial.available()分支中的东西不会运行,除非我已经通过串行方式向Arduino发送了一些东西?你能解释一下pbuf是如何未初始化的吗?我调用Serial.end(),因为我只想在阅读
Serial.available()
上的文档时进行连接,它返回可从串行设备读取的字符数。如果没有可读取的字符,则返回零(0)。只要它返回零,就不会看到执行的
Serial.println()
。试着注释if语句,然后进行打印。