求教从串口读数据-Arduino中文社区 - Powered by Discuz!

Arduino中文社区

 找回密码
 立即注册

QQ登录

只需一步,快速开始

查看: 3446|回复: 2

[已解决] 求教从串口读数据

[复制链接]
发表于 2014-6-13 10:30 | 显示全部楼层 |阅读模式
想请教一个问题, 我打算通过串口接一个传感器到arduino,因此链接RX(digital 0)
串口波特率2400,循环发送7个字节,起始位0xaa,4个数据字节,一个校验字节,结束位0xff
我想先简单做个测试程序,可是不知为什么用serial.read无法从RX上读到数据
int LEDpin = 13;
byte val=0;

void setup()
{
  Serial.begin(2400);
  pinMode(LEDpin,OUTPUT);
}

void loop()
{
  val=Serial.read();
  Serial.println(val);
  if( val == 0xaa )
    {
      digitalWrite(LEDpin,HIGH);
      delay(1000);
    }
    else
    digitalWrite(LEDpin,LOW);
    delay(1000);
}

可是运行后,打开serial monitor,始终都还是从PC这边读数据,
如果键盘不输入,print的都是255 即使断开pc,运行也无法点亮LED 不知什么原因

求教
发表于 2014-6-15 13:17 | 显示全部楼层
缺少判断串行口是否有数据。Serial.available()。不判断有没有数据就直接读取,你觉得合适么?
发表于 2014-6-13 10:37 | 显示全部楼层
关于“4个数据字节,一个校验字节”,你需要看看这个教程
串口的高级用法  http://www.arduino.cn/thread-2710-1-1.html
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|Archiver|手机版|Arduino中文社区

GMT+8, 2024-12-5 10:22 , Processed in 0.090909 second(s), 17 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表