【SDK驱动开发3】使用PS侧gpio作为中断输入
2017-10-20 21:31
288 查看
网上看到一篇文章(编写你的第一个GPIO中断程序,Run your first gpio-ps interrupt application),这里把这篇文章简单记录一下。
如果要用ps侧gpio作为中断输入,基本步骤如下:
1.设置gpio引脚方向和中断检测逻辑;
2.Route gpio中断到scu gic模块;
3.Route scu gic到cpu exception table;
1.配置GPIO PS 模块
1.1 设置gpio引脚为输入引脚,disable掉输出使能开关;
首先初始化gpio ps模块
XGpioPs GpioPs;
xgpiops_config* pgpiopscfg;
pgpiopscfg=xgpiops_lookupconfig(xpar_xgpiops_0_device_id);
xgpiops_cfginitialize(&gpiops,pgpiopscfg,pgpiopscfg->baseaddr);
然后disable掉输出使能开关
xgpiops_setoutputenablepin(&gpiops,50,0x0); //0 to disable output
设置中断检测逻辑
xgpiops_setintrtypepin(&gpiops, 50, xgpiops_irq_edge_rising);
设置中断handler(包括创建一个中断handler,连接中断handler到gpio模块)
如果要用ps侧gpio作为中断输入,基本步骤如下:
1.设置gpio引脚方向和中断检测逻辑;
2.Route gpio中断到scu gic模块;
3.Route scu gic到cpu exception table;
1.配置GPIO PS 模块
1.1 设置gpio引脚为输入引脚,disable掉输出使能开关;
首先初始化gpio ps模块
XGpioPs GpioPs;
xgpiops_config* pgpiopscfg;
pgpiopscfg=xgpiops_lookupconfig(xpar_xgpiops_0_device_id);
xgpiops_cfginitialize(&gpiops,pgpiopscfg,pgpiopscfg->baseaddr);
然后disable掉输出使能开关
xgpiops_setoutputenablepin(&gpiops,50,0x0); //0 to disable output
设置中断检测逻辑
xgpiops_setintrtypepin(&gpiops, 50, xgpiops_irq_edge_rising);
设置中断handler(包括创建一个中断handler,连接中断handler到gpio模块)
相关文章推荐
- 【SDK驱动开发1】中断的使用(以一个dma为例)
- 【sdk驱动开发4】ps侧dma使用
- linux驱动开发之输入子系统编程(一)使用工作队列实现中断下半部
- MTK 驱动开发(3)---GPIO口的使用方法汇总
- linux驱动开发之多路复用poll+按键点灯+中断+标准输入输出
- STM32之中断与事件---一个使用GPIO作为外部中断的示例
- xilinx SDK开发 GPIO使用API总结
- ESP8266 RTOS SDK使用GPIO中断的方法
- 嵌入式软件开发培训笔记——S5PC100接口开发(GPIO输入/输出、定时器、中断、UART、ADC、IIC)
- Wince驱动开发学习:寄存器、DMA、中断使用
- 驱动开发之gpiolib库的学习及使用
- Linux驱动开发十:按键中断之输入子系统
- 【龙印】龙芯1c的gpio作为输入时的linux驱动
- WiFi-ESP8266入门开发(十二)-使用GPIO中断
- Linux无需开发底层驱动,从应用层获取GPIO中断
- 驱动开发之二:ntddk.h文件中函数的使用 如:PsSetCreateProcessNotifyRoutine
- 【转载】WINCE驱动开发之中断的使用
- 使用 Eclipse 作为 Jakarta Tomcat 的开发环境
- 使用StrutsTestCase进行测试驱动开发
- PhysX SDK物理引擎开发包使用教程