⚠️
嗨,...感谢您来论坛。令人兴奋的消息!我们现在正在迁至我们的新论坛平台,将提供更好的功能,并包含在主对话框网站中。所有帖子和帐户都已迁移。我们现在只接受新论坛上的流量 - 请发布任何新线程https://www.dialog-seminile.com/support.。我们将在未来几天修复错误/优化搜索和标记。
7个帖子/ 0新
最后一篇
koukou.
离线
最后一次露面:3个月1周前
加入:2019-10-14 10:42
打断

是否有类似GPIO_ENABLEQ的函数禁用或隐藏中断!!

设备:
PM_DIALOG.
离线
最后一次露面:3天14小时前
职员
加入:2018-02-08 11:03
你好呀,

你好呀,

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

谢谢,PM_DIALOG.

koukou.
离线
最后一次露面:3个月1周前
加入:2019-10-14 10:42

我有问题是,只要按下按钮,即使仅按下了一次,只要按下一次触发中断,就会触发中断几次

koukou.
离线
最后一次露面:3个月1周前
加入:2019-10-14 10: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天14小时前
职员
加入:2018-02-08 11:03
你好呀,

你好呀,

你能试着解释你想要完成的事情吗?

谢谢,PM_DIALOG.

koukou.
离线
最后一次露面:3个月1周前
加入:2019-10-14 10:42

我有一个矩阵键盘,我想读取他们的按钮。我遵循键盘的算法:在高状态下初始化的线路初始化线路,当在第一行放置1个逻辑上的中断时,列在第一行上的逻辑和其他线上的逻辑中断时,列是用下拉电阻的输入。我在列上找到1个逻辑,然后我知道按下了哪个按钮等。当我仍然按下第一行的一个按钮时,一切正常工作,中断只会触发一次但是当我仍然按下另一条线中的一个按钮时,侵入仍然触发了几次。

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

if(_col_1)
{
ARCH_PRINTF(“键盘1 \ n \ r”);
转到重置;
}

setselectedkeypadmatrixrowsup(_row_2);

if(_col_1)
{
ARCH_PRINTF(“键盘4 \ n \ r”);
转到重置;
}

setselectedkeypadmatrixrowsup(_row_3);

if(_col_1)
{
ARCH_PRINTF(“键盘7 \ n \ r”);
转到重置;
}

setselectedkeypadmatrixrowsup(_row_4);

if(_col_1)
{
ARCH_PRINTF(“键盘* \ n \ r”);
转到重置;
}


重启 :

setselectedkeypadmatrixrowsup(_row_1 | _row_2 | _row_3 | _row_4);

}

__static_inline void setselectedkeypadmatrixrowsup(int amask)
{
if(amask&_row_1)
_row_1_high;
别的
_row_1_low;

if(amask&_row_2)
_row_2_high;
别的
_row_2_low;

if(amask&_row_3)
_row_3_high;
别的
_row_3_low;

if(amask&_row_4)
_row_4_high;
别的
_row_4_low;
}

PM_DIALOG.
离线
最后一次露面:3天14小时前
职员
加入:2018-02-08 11:03
你好呀,

你好呀,

抱歉我的延迟回复 - 可能我们错过了你的上次评论。您可以使用GPIO.H驱动程序使用IRQ API。

谢谢,PM_DIALOG.