烽火社区

标题: 想实现“一直按着G键灯亮,松开灯就灭“的效果 [打印本页]

作者: hejain    时间: 2015-11-11 05:53 AM
标题: 想实现“一直按着G键灯亮,松开灯就灭“的效果

[attach]39400[/attach]
void setup()
{
Serial.begin(9600);
pinMode(2,OUTPUT);
}

void loop()
{
if(Serial.available())
{
   char number =Serial.read();
   if (number==\'G\')            
   {
      digitalWrite(2,HIGH);
    }
}

  else
   {digitalWrite(2,LOW);}
}



模拟图和程序在这里,但是实际情况是按了G灯也不亮

现在是不清楚计算机对于”一直按着G“是怎么判断的,是类似一个接一个的短脉冲还是持续高电平这样判断的


作者: sfrogman    时间: 2015-11-11 08:29 AM
这样仿真应该不行吧,应该要弄个虚拟键盘之类的东西才可以吧!
作者: BruceLone    时间: 2015-11-11 09:06 AM

一个C文件里会有一个Main函数的吧,而一般在Main函数里会有一个While循环在不段扫描按键的状态,像你这种写法的话,上电程序从头执行到最后就不会再从头去查询按键状态了,MCU自然也就不知道自己IO口的最新状态了!可以按照如下格式去写:

void main()

{

    while(1)

    {

        用户函数;

    }

}


作者: RedAdobe    时间: 2015-11-11 09:25 AM
玩单片机吧。这问题秒秒钟解决
作者: 梦红尘    时间: 2015-11-11 09:28 AM
PC上按键时,有一个延时判断,这样就不会是连续发送,串口的速度也没有那么快的,结果会是LED在闪烁。另外你写的是大写G,改成小写的试试。
作者: wellhope    时间: 2015-11-11 10:11 AM
小写可以
作者: leiyz    时间: 2015-11-11 04:14 PM
大小写无所谓,也能检测到大写的

作者: ni_labview    时间: 2015-11-11 05:31 PM
仿真不对
作者: 友进芯城    时间: 2015-11-12 01:42 AM
请问能给个思路么。。
作者: 拾穗ER    时间: 2015-11-21 11:17 PM
仿真是指当所研究的系统造价昂贵、实验的危险性大或需要很长的时间才能了解系统参数变化所引起的后果时,然后我们采用模拟手段来进行风险评估。但是像你这种单片机之类的东西,也要进行仿真,有意义吗,开发板这么便宜,直接在开发板上操作不就得了。




欢迎光临 烽火社区 (http://bbs.cnecport.com/) Powered by Discuz! X3.2