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语句,然后进行打印。