串行监视器没有输出



我正在尝试将传感器值转换为二进制值,以存储在一个小的char数组(tbuf(中,并将这些小数组连接到一个更大的数组中。最后,我想用Serial.write()串行发送填充了710bit值的大数组(pbuf(。这是我迄今为止尝试过的代码:

void setup() {
Serial.begin(115200);
}
void loop() {
if (Serial.available() > 0) {
int s = 251;
char pbuf[78];
char tbuf[11];
itoa(s, tbuf, 2);
strcat(pbuf, tbuf);
Serial.println(pbuf);
}
Serial.end();
}

它不向串行监视器输出永久缓冲区(pbuf(或任何内容。我对串行监视器的输出为零。

对于如何从类似的代码中获得输出,我将不胜感激。

不要在函数loop()中使用Serial.end()。您的代码运行一次Serial.begin(),如果您的Serial不可用,则只调用Serial.end()
也许你可以试试这种方法:

int varA =0;
void setup() {
Serial.begin(115200);
}
void loop() {
if (Serial.available() > 0) {
varA = Serial.parseInt(); //or   Serial.parseFloat();
Serial.println(varA);
}
}

最新更新