• 已解决 73482 个问题
  • 已帮助 5993 位优秀工程师

想实现“一直按着G键灯亮,松开灯就灭“的效果

GBL阿尔塞斯 2015-11-11 浏览量:2203

想实现“一直按着G键灯亮,松开灯就灭“的效果
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“是怎么判断的,是类似一个接一个的短脉冲还是持续高电平这样判断的

0 0 收起

我来回答

上传资料:
选择文件 文件大小不超过15M(格式支持:doc、ppt、xls、pdf、zip、rar、txt)
其他答案 数量:9
  • 这样仿真应该不行吧,应该要弄个虚拟键盘之类的东西才可以吧!
    • 发布于2015-11-11
    • 举报
    • 评论 0
    • 0
    • 0

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

    void main()

    {

        while(1)

        {

            用户函数;

        }

    }

    • 发布于2015-11-11
    • 举报
    • 评论 0
    • 0
    • 0

  • 玩单片机吧。这问题秒秒钟解决
    • 发布于2015-11-11
    • 举报
    • 评论 0
    • 0
    • 0

  • PC上按键时,有一个延时判断,这样就不会是连续发送,串口的速度也没有那么快的,结果会是LED在闪烁。另外你写的是大写G,改成小写的试试。
    • 发布于2015-11-11
    • 举报
    • 评论 0
    • 0
    • 0

  • 仿真是指当所研究的系统造价昂贵、实验的危险性大或需要很长的时间才能了解系统参数变化所引起的后果时,然后我们采用模拟手段来进行风险评估。但是像你这种单片机之类的东西,也要进行仿真,有意义吗,开发板这么便宜,直接在开发板上操作不就得了。
    • 发布于2015-11-21
    • 举报
    • 评论 0
    • 0
    • 0

相关问题

问题达人换一批

想实现“一直按着G键灯亮,松开灯就灭“的效果