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

是否有一个类似GPIO_EnableIRQ的函数来禁用或隐藏中断!!

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

你好,

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

谢谢,PM_Dialog

koukou
离线
最后看到:3周5天前
加入:2019-10-14 42

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

koukou
离线
最后看到:3周5天前
加入: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
离线
最后看到:3天21小时前
工作人员
加入:2018-02-08 11:03
你好,

你好,

你能解释一下你想完成什么吗?

谢谢,PM_Dialog

koukou
离线
最后看到:3周5天前
加入:2019-10-14 42

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

//初始化输出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);

C1_KeypadInterruptHandler(无效)


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
离线
最后看到:3天21小时前
工作人员
加入:2018-02-08 11:03
你好,

你好,

抱歉我迟了回复-可能我们错过了你的最后评论。您可以使用来自gpio.h驱动程序的IRQ api。

谢谢,PM_Dialog