我正在尝试将传感器值转换为二进制,以存储在一个小的char数组(tbuf
)中,并将这些小的数组连接成一个更大的数组。最终,我想通过pbuf
通过串行发送充满7个10位值的大数组(Serial.write()
)。这是我到目前为止尝试过的代码:
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
)或任何东西输出到串行监视器。我对串行监视器的输出是什么。
对于如何从类似于此代码的输出中获得任何建议,我将不胜感激。
答案 0 :(得分:-2)
请勿在函数Serial.end()
中使用loop()
。您的代码一次运行Serial.begin()
,如果您的序列号不可用,则您仅调用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);
}
}