疯子。 发表于 2013-7-20 02:46:45

【讨论】串口只输入一个字符,但是Serial.available()却true了3次

本帖最后由 疯子。 于 2013-7-20 14:08 编辑

问题解决了。
是串口监视器部分不知道什么时候设置成“换行和回车”了

char incomingByte; //传入的串行数据

void setup() {
Serial.begin(9600);   // 打开串行端口,设置传输波特率为9600 bps
}

void loop() {

//只有当你接收到数据时才会发送数据,:
if (Serial.available() > 0) {
    //读取传入的字节:
    incomingByte = Serial.read();

    //显示你得到的数据:
    Serial.print("I received: ");
    Serial.println(incomingByte);
}
}


疯子。 发表于 2013-7-20 12:22:10

好了,串口监视器部分不知道什么时候设置成“换行回车”了

拾瑞 发表于 2013-7-20 12:33:37

本帖最后由 拾瑞 于 2013-7-20 12:50 编辑

让它以十六进制显示一下,后面二个"空"的具体代码是什么?
--------------------------------------
9600的速率,换算一下每发送一个字节(Byte)的时间为1毫秒左右,难道是太慢了,而LOOP里面的代码执行太快,但串口是全双工的,发送和接收理应没有延时的才对,不会出现半双工时发送和接收切换延时问题的!
-------------------------------------
你用什么向UNO串口发送字符的?改用串口助手看看!我的UNO不在手上,不然我试一下!

疯子。 发表于 2013-7-20 14:08:12

拾瑞 发表于 2013-7-20 12:33 static/image/common/back.gif
让它以十六进制显示一下,后面二个"空"的具体代码是什么?
--------------------------------------
9600的 ...

谢谢您,问题解决了。

是串口监视器部分不知道什么时候设置成“换行和回车”了

wangnengjie 发表于 2013-7-20 20:56:28

看不大明白。发送了三个字符?数字后多了换行符和回车符?

疯子。 发表于 2013-7-21 04:33:44

wangnengjie 发表于 2013-7-20 20:56 static/image/common/back.gif
看不大明白。发送了三个字符?数字后多了换行符和回车符?

是的         
页: [1]
查看完整版本: 【讨论】串口只输入一个字符,但是Serial.available()却true了3次