关于beaglebone的IO中断

2019-07-15 15:04发布

关于beaglebone的IO中断


多人问我关于beaglebone的IO中断问题,现简略的记录如下:
这是用来测试的按键驱动,主要就是这个init函数了,注意其中调用的几个函数!
void key_init(void)
{
int result;

//omap_cfg_reg(GPIO_TO_PIN(1,22));
/* Allocating GPIOs and setting direction */
result = gpio_request(KEY0, "key");//usr1
if (result != 0)
printk("KEY0 request failed! ");
result = gpio_direction_input(KEY0);
if (result != 0)
printk("KEY0 direction failed! ");

irq_set_irq_type(OMAP_GPIO_IRQ(KEY0),IRQ_TYPE_EDGE_FALLING);//IRQ_TYPE_EDGE_RISING
enable_irq(gpio_to_irq(KEY0));


if(result = request_irq(OMAP_GPIO_IRQ(KEY0), &key_interrupt,0, "key_int", NULL))
{
printk(KERN_INFO"[FALLED: Cannot register Key Interrupt!] ");
}
}






有个朋友告诉我前面的不需要多调用一次
irq_set_irq_type(OMAP_GPIO_IRQ(KEY0),IRQ_TYPE_EDGE_FALLING);来设置中断方式;
可以直接
request_irq(OMAP_GPIO_IRQ(KEY0),&key_interrupt,IRQF_TRIGGER_FALLING,"key_int",NULL);来设置中断方式!

友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
10条回答
touser
1楼-- · 2019-07-15 17:43
这个IO不是内部程序使用的吗?
myiclife
2楼-- · 2019-07-15 23:09
需要重新编译代码吗?
uytyu
3楼-- · 2019-07-16 02:48
设备树上有这个功能吗?
iyoum
4楼-- · 2019-07-16 05:31
 精彩回答 2  元偷偷看……
wwppd
5楼-- · 2019-07-16 06:00
这种字符驱动设备。
touser
6楼-- · 2019-07-16 10:38
直接调用响应IO不行吗?

一周热门 更多>