AVR小段程序不解

2019-03-24 21:03发布

void main()
{
  port_init();
   while(1)
  {
    if( ((PINC & SET ) == 0x00) & ((PINC & SET)== 0x00))
  {
   flag_set = 1;
  }
  if( flag_set == 1 )
  {
   PORTD = 0xff;
  }
}
}   我在按下键设置了个全局变量的标志位   为什么只有在按下键时候PD才为高电平呢 设置了标志位 应该按一次 不按也为高啊 此帖出自小平头技术问答
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
4条回答
ydw621
2019-03-24 22:23
主函数里对flag_set赋值1后没有对其有清零的操作,会一直保持为1。而且主函数中对于PORTD只有置高没有清零操作。小弟觉得在只执行主函数的情况下不会出现LZ这样的状况。

一周热门 更多>