HLA外部中断,中断发生的时候输出1,中断不发生的时候输出零

2019-07-21 08:25发布

void  HAL_GPIO_EXTI_Callback(uint16_t GPIO_Pin)
{   
   
    HAL_Delay(5);      //消抖   
   
    if(DI0 == 1)
       ucDI |= 0x01;   
    else
       ucDI &= (~0x01);
   
   
   if(DI1 == 1)
      ucDI |= (0x01<<1);
   else
      ucDI &= (~(0x01<<1));
  
  
  if(DI2 == 1)
       ucDI |= (0x01<<2);
  else
      ucDI &= (~(0x01<<2));
  

友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
3条回答
遇见11111
1楼-- · 2019-07-21 11:45
补充一下,现在的情况是只会执行满足中断的语句,例如DI0 == 1,ucDI就一直输出1,及时DI0  != 1,ucDI也输出1;我想要的效果是DI0  != 1,ucDI输出0
jermy_z
2楼-- · 2019-07-21 15:02
 精彩回答 2  元偷偷看……
遇见11111
3楼-- · 2019-07-21 17:46
jermy_z 发表于 2018-11-1 08:52
中断也只是在一瞬间,你的逻辑本来就是怪怪的,一瞬间拉高,然后立马拉低?

接触式的,就是两个线接触就发生中断,断开就不中断,麻烦你帮忙看看

一周热门 更多>