豆小擎

    1. 万分感谢!这个问题已经解决了~
    2. chunyang 发表于 2014-5-6 23:50 道理类似,估计楼主是不会编程吧。对人而言,判断哪个被触发也许是件难事,但对MCU而言,两个传感器的触 ...
      确实是编程小白。。。不过,我说的那个判折返不是指单片机运行判断,而是我怎么写程序判折返的意思,最近满脑子的各种想法,已经统统混乱掉了。
    3. chunyang 发表于 2014-5-5 22:26 哪个先被触发总该知道吧,楼主的这个问题实在不应该。
      但是还要判折返呢
    4. 白丁 发表于 2014-5-5 20:56 定义两个标志位,查看标志位,如第一个被检测到标志置1,当检测到另一个时看第一个的标志位是0还是1,是1说 ...
      和我上面那个程序是差不多的
    5. dj狂人 发表于 2014-5-5 20:40 当一个红外检测到人的时候一直停在循环里,直到人离开红外检测区域,还有建议不要用中断,用扫描
      直接在函数体里用if来判断?
    6. dj狂人 发表于 2014-5-5 20:31 先不说那个先触发 ,中断里面得加个循环吧, 不然进一个人会引起多次触发
      加循环。。。不理解,求指教
    7. dj狂人 发表于 2014-5-5 20:19 怎么不对
      额,你说的是正常看来是可以的,但是在我要做的程序里面不对,怪我,我一开始没说明白
    8. dj狂人 发表于 2014-5-5 20:21 你想说有时候会两个二极管一起亮,当红外管还是有触发先后当看不出来?
      用两个红外传感器1,2放在门口,进门时依次碰到1,2,计数器加1;出门时依次碰到2,1两根,计数器减1。我是想这样判断12还是21,这个先后顺序
    9. 我用的两个全局变量flog_a=0,flog_s=0;采用的外部中断 /*************外部中断**********************/ void EX_INT0() interrupt 0 {         if(flog_a==0)//判断是否有折返         {                 flog_a=1;                 if(flog_s==1)//判断出                         count--;         }         else flog_a=0; } void EX_INT1() interrupt 2 {         if(flog_s==0)//判断是否有折返         {                 flog_s=1;                 if(flog_a==1)//判断进                          count++;         }         else flog_s=0; } /*************************************/ 但是这个程序有问题,我在用proteus仿真的时候,进两个人计数器才加1个,减也是
    10. dj狂人 发表于 2014-5-5 19:46 加发光二极管呗
      额。。。这个。。。这个。。。。不对吧

最近访客

< 1/1 >

统计信息

已有4人来访过

  • 芯积分:--
  • 好友:--
  • 主题:2
  • 回复:10

留言

你需要登录后才可以留言 登录 | 注册


现在还没有留言