arduino 串口不工作

const int ledPin = 13;
int val;
void setup()
{
pinMode(ledPin,OUTPUT);
Serial.begin(9600);
}

void loop()
{
val = Serial.read();
if(-1 != val)
{
if('H' == val)
{
digitalWrite(ledPin,HIGH);
delay(1000);
digitalWrite(ledPin,LOW);
}
}
}

使用proteus 模拟时 虚拟终端可以显示接受到的数据 但是led并没有任何电平变化
const int ledPin = 9;

void setup()
{
// 设置串口波特率:
Serial.begin(9600);
// 设置LED控制引脚:
pinMode(ledPin, OUTPUT);
}

void loop()
{
char val;
// 查询串口是否收到数据:
if (Serial.available())
{
// 获取数据
val = Serial.read();
digitalWrite(ledPin,HIGH);
}
}

这样写就可以直接点亮led 但是在里面加上分支判断就不能点亮led了

第1个回答  2014-07-30
建议你先测试串口通不通,就是收到一个数据之后马上回写 看看能否正常显示出来追问

不能回写 开始仿真 D0一直高电平 com口rtx电平倒是一直在变化