Omap3530 的GPIO中断设置:

1.配置成GPIO,申请GPIO中断

omap_cfg_reg(OMAP3_KBD_GPIO);配置成gpio

if (gpio_request(OMAP3_KBD_GPIO, "kbd7279 IRQ") < 0)

printk(KERN_ERR "Failed to request GPIO%d for kbd IRQ/n");//申请GPIO为中断引脚。

2. 设置中断触发模式

set_irq_type(OMAP_GPIO_IRQ(OMAP3_KBD_GPIO),IRQ_TYPE_EDGE_FALLING);

3.使能中断

enable_irq(gpio_to_irq(OMAP3_KBD_GPIO));

gpio_to_irq()函数将OMAP3_KBD_GPIO映射为中断管脚,enable_irq()函数将其使能,这样该端口就设置为中断了。

4.申请中断

if(result = request_irq(OMAP_GPIO_IRQ(OMAP3_KBD_GPIO), &Kbd7279_ISR,0, "Ds7279", NULL))

{

printk(KERN_INFO"[FALLED: Cannot register Kbd7279_Interrupt!]/n");

return -EBUSY;

}

else

printk("[OK]/n");

下面是完整的设置程序:

void Setup_Kbd7279(void)

{

int i,result;

omap_cfg_reg(OMAP3_KBD_GPIO);

if (gpio_request(OMAP3_KBD_GPIO, "kbd7279 IRQ") < 0)

printk(KERN_ERR "Failed to request GPIO%d for kbd IRQ/n");

gpio_direction_input(OMAP3_KBD_GPIO);

set_irq_type(OMAP_GPIO_IRQ(OMAP3_KBD_GPIO),IRQ_TYPE_EDGE_FALLING);//IRQ_TYPE_EDGE_RISING

enable_irq(gpio_to_irq(OMAP3_KBD_GPIO));

//set_irq_type(OMAP_GPIO_IRQ(OMAP3_KBD_GPIO),0 );IRQ_TYPE_LEVEL_LOW

if(result = request_irq(OMAP_GPIO_IRQ(OMAP3_KBD_GPIO), &Kbd7279_ISR,0, "Ds7279", NULL))

{

printk(KERN_INFO"[FALLED: Cannot register Kbd7279_Interrupt!]/n");

return -EBUSY;

}

else

printk("[OK]/n");

send_byte(cmd_reset);

setcs1;

printk("HD7279 setup complete! --- > [OK]/n");

for(i=0;i<1000;i++);

write7279(decode1+7,0x1);

write7279(decode1+6,0x2);

}

这里有个地方一定要注意的,一定要确定设为中断的引脚工作在GPIO模式,如果不是,先要设置为GPIO模式。

Omap3530 的GPIO中断设置相关推荐

  1. 将5350 i2c clk设置为gpio 中断模式的方法

    5350和我之前用的三星和全志的芯片在中断这块有点差别,三星和全志的都是有专门的外部中断管脚,并且每个中断管脚对应一个中断号,对管脚寄存器的配置即irq_desc里chip变量,都是bsp里自带的,我 ...

  2. LPC1768外部中断与GPIO中断

    LPC1768的外部中断严格来说只有四个,分别是EINT0,EINT1,EINT2,EINT3,技术手册上有如下说明 控制这四个外部中断靠以下寄存器 这三个寄存器的0 1 2 3位分别代表中断的0 1 ...

  3. 树莓派移植SX1278 LoRa通信--使用wiringPi 移植GPIO中断

    一.SX1278 数字接口状态映射 从官方文档可知sx1278的数字接口状态映射明细,移植的代码中主要用查询的方式来判断在连续模式下是否接收和发送完成,因此只需要用到DIO0.如果要用到CAD,则需要 ...

  4. IMX6ULL学习笔记(18)——GPIO中断

    一.中断简介 相比 STM32 的 NVIC,IMX6ULL 的中断控制系统更复杂,它的中断管理器使用的是 GIC V2,GIC V2 的实现方式与我们熟知的 NVIC 差别较大. 1.1 GIC G ...

  5. xilinx zynq 7010/7020 中断/中断向量/GIC向量/GPIO中断

    上图所示GIC左边的称为中断请求源,它们产生中断请求.所有的中断请求都可以发送到GIC通用中断控制器,所以它是一个集中式的中断请求中心.GIC根据请求源的属性(enables, disables, m ...

  6. linux 应用层gpio中断_树莓派官方自带gpio中断驱动bcm2708_gpio.c原理分析 linux 中断架构 中断子系统...

    上一篇记录了树莓派自带的gpio驱动(外链网址已屏蔽),在bcm2708_gpio.c实现gpio驱动的同时其实也实现了中断控制器的驱动,本文记录bcm2708_gpio.c中驱动的实现. 一·bcm ...

  7. imx6ull gpio 中断

    本文使用100ask_imx6ull_mini开发板来做实验,内容参考百问网开发手册 一.整体流程 GPIO 作为中断源,本实验使用KEY1(GPIO5_1)和KEY5(GPIO4_IO14)两个按键 ...

  8. Microblaze实现串口、GPIO中断

    介绍 使用microblaze软核搭建处理器,实现中断 其中microblaze_0为microbalze内核,外接128Kb的local memory.利用JTAG调试的mdm内核.中断管理器axi ...

  9. zedboard第十七课(standaloneOS,Interrupt专题,GPIO中断)

    我们知道,GIC掌管整个中断系统,先来回顾一下ARM对中断的处理过程. 当一切准备好之后,一旦打开处理器的全局中断就可以处理来自外设的各种中断事件了. 当外设(SOC内部或者外部都可以)检测到了中断事 ...

最新文章

  1. 余额 微信钱包图片_微信储值会员卡小程序,微信会员卡功能系统。
  2. mysql ibdata作用_mysql data文件夹下ibdata1 文件作用
  3. 二维码 | 如何实现一码多用
  4. linux shell数组动态在for中追加元素及其遍历
  5. 数据结构 - 单调栈、单调队列
  6. dll侧加载_win7系统开机提示xxxdll模块已加载但找不到入口点的解决方法
  7. 第四十六期:最近程序员频繁被抓,如何避免面向监狱编程?!
  8. 【论文复现】Character-level Convolutional Networks for Text Classification
  9. MD5详解(校验文件完整性)
  10. 如何用基于保利威视云平台来做网络年会直播活动
  11. KDL轨迹规划总结:(1)
  12. php 发送带附件邮件
  13. Maya菜单中英文对照表(一)
  14. 即时配送行业黑马 闪飞侠2022正式起航
  15. c语言中双冒号意思_“c#excle的读取“c语言的双冒号是什么意思::
  16. Focus事件与blur事件
  17. 关于java开发邮件接收程序的一点总结
  18. 如何实现音频变速不变调、变调不变速、变速又变调?
  19. 何洛洛高考成绩查询2021,R1SE曾想续约:11少年毕业发言催泪,周震南更文,何洛洛哭上热搜...
  20. 次梯度(坐标法)、迭代加权最小二乘、ADMM求解Lasso

热门文章

  1. 团队编程项目代码设计规范(爬取豆瓣电影top250)
  2. ASIHTTPRequest详解 [经典3]
  3. 获取滚动条宽度代码(记录)
  4. Afterthought 原来是这样的啊。。。。
  5. windbg调试相关命令
  6. 福建工程学院寒假作业G题
  7. asp上传错误:此键已与该集合的一个元素关联
  8. DHL出台货运新方案
  9. echarts 多次通过setOption改变图形数据时 数据有时不进行变化
  10. JavaScript事件详解