⚠️
大家好. .感谢来到论坛。令人兴奋的消息!我们现在正在转移到新的论坛平台的过程中,它将提供更好的功能,并包含在主对话网站。所有的帖子和账号已经迁移。我们现在只接受新论坛的流量-请发布任何新的帖子在//www.xmece.com/support.我们会在接下来的几天修复bug /优化搜索和标记。
7个职位/ 0个新职位
最后发表
koukou
离线
最后看到:3个月1个星期前
加入:2019-10-14 42
中断

有没有像GPIO_EnableIRQ这样的函数来禁用或隐藏中断!!

设备:
PM_Dialog
离线
最后看到:10小时49分钟前
工作人员
加入:2018-02-08 11:03
你好,

你好,

您的意思是禁用全局中断吗?

谢谢,PM_Dialog

koukou
离线
最后看到:3个月1个星期前
加入:2019-10-14 42

我有一个问题是,只要按下按钮,中断就会触发几次,而我希望中断只触发一次,即使按钮已经被按下

koukou
离线
最后看到:3个月1个星期前
加入:2019-10-14 42

我使用GPIO中断:

GPIO_RegisterCallback (GPIO0_IRQn callback_function);
GPIO_EnableIRQ(GPIO_BUTTON_1_PORT, GPIO_BUTTON_1_PIN, GPIO0_IRQn, true,false, 250);
GPIO_ResetIRQ (GPIO0_IRQn);

PM_Dialog
离线
最后看到:10小时49分钟前
工作人员
加入:2018-02-08 11:03
你好,

你好,

你能解释一下你想要完成的任务吗?

谢谢,PM_Dialog

koukou
离线
最后看到:3个月1个星期前
加入:2019-10-14 42

我有一个矩阵键盘,我想读他们的按钮。我跟着键盘的算法:线在高输出初始化状态和列输入下拉电阻,当一个中断发生在一列我把1逻辑放在第一行和0逻辑线路,如果我发现1逻辑列然后我知道按哪个按钮等等。当我继续按下第一行的一个按钮时,一切都工作得很好,中断只触发一次,但当我继续按下其他一行的一个按钮时,入侵仍然触发好几次

//初始化OUTPUT Up
setSelectedKeypadMatrixRowsUp(_ROW_1 | _ROW_2 | _ROW_3 | _ROW_4);

GPIO_EnableIRQ(GPIO_KEYPAD_C1_PORT, GPIO_KEYPAD_C1_PIN, GPIO0_IRQn, false,true, 250);
GPIO_RegisterCallback (GPIO0_IRQn C1_KeypadInterruptHandler);

__STATIC_INLINE void C1_KeypadInterruptHandler (void)


setSelectedKeypadMatrixRowsUp (_ROW_1);

如果(_COL_1)

arch_printf(“键盘1 \ n \ r”);
goto复位;


setSelectedKeypadMatrixRowsUp (_ROW_2);

如果(_COL_1)

arch_printf(“键盘4 r \ n \”);
goto复位;

setSelectedKeypadMatrixRowsUp (_ROW_3);

如果(_COL_1)

arch_printf(“键盘7 r \ n \”);
goto复位;


setSelectedKeypadMatrixRowsUp (_ROW_4);

如果(_COL_1)

arch_printf(“键盘* r \ n \”);
goto复位;


重置:

setSelectedKeypadMatrixRowsUp(_ROW_1 | _ROW_2 | _ROW_3 | _ROW_4);

__STATIC_INLINE void setSelectedKeypadMatrixRowsUp(int掩码)

如果(aMask & _ROW_1)
_ROW_1_HIGH;
其他的
_ROW_1_LOW;

如果(aMask & _ROW_2)
_ROW_2_HIGH;
其他的
_ROW_2_LOW;

如果(aMask & _ROW_3)
_ROW_3_HIGH;
其他的
_ROW_3_LOW;

如果(aMask & _ROW_4)
_ROW_4_HIGH;
其他的
_ROW_4_LOW;

PM_Dialog
离线
最后看到:10小时49分钟前
工作人员
加入:2018-02-08 11:03
你好,

你好,

很抱歉我没有及时回复你——可能我们错过了你最后的评论。可以从gpio.h驱动程序中使用IRQ api。

谢谢,PM_Dialog