关于beaglebone的IO中断

[复制链接]
 楼主| qaz098xsw 发表于 2017-10-3 11:19 | 显示全部楼层 |阅读模式
关于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!\n");
result = gpio_direction_input(KEY0);
if (result != 0)
printk("KEY0 direction failed!\n");

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!]\n");
}
}






有个朋友告诉我前面的不需要多调用一次
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);来设置中断方式!

touser 发表于 2017-10-5 22:03 | 显示全部楼层
这个IO不是内部程序使用的吗?
myiclife 发表于 2017-10-5 22:03 | 显示全部楼层
需要重新编译代码吗?
uytyu 发表于 2017-10-5 22:03 | 显示全部楼层
设备树上有这个功能吗?
iyoum 发表于 2017-10-5 22:04 | 显示全部楼层
IO中断还没有在编码实现吗
wwppd 发表于 2017-10-5 22:04 | 显示全部楼层
这种字符驱动设备。
touser 发表于 2017-10-5 22:05 | 显示全部楼层
直接调用响应IO不行吗?
myiclife 发表于 2017-10-5 22:05 | 显示全部楼层
以前都是重新定义内部嵌入式接口。
uytyu 发表于 2017-10-5 22:05 | 显示全部楼层
这个可以通过代码直接实现吗?
iyoum 发表于 2017-10-5 22:05 | 显示全部楼层
以前在使用ARM9的时候学习过。
wwppd 发表于 2017-10-5 22:05 | 显示全部楼层
楼主对于编译成功的设备怎么编译呢?
您需要登录后才可以回帖 登录 | 注册

本版积分规则

632

主题

842

帖子

3

粉丝
快速回复 在线客服 返回列表 返回顶部