专栏中心

EEPW首页 > 专栏 > FPGA开发板DIY过程(九)

FPGA开发板DIY过程(九)

发布人:mmqm 时间:2012-10-12 来源:工程师 发布文章



继续学习Nios II,进行key中断实验,遇到些问题,需要深入研究。





代码:
#include "system.h"
#include "altera_avalon_pio_regs.h"
#include "alt_types.h"
#include "sys/alt_irq.h"
#include "sys/alt_alarm.h"
#include "unistd.h"

#define led *(volatile unsigned char *) LED_BASE
#define key *(volatile unsigned char *) KEY_BASE

void Key_ISR(void* context, alt_u32 id);
void Key_Init();
//alt_u8 data;

//按键中断服务函数
void Key_ISR(void* context, alt_u32 id)
{
led = key;
while(key != 0xff);
IOWR_ALTERA_AVALON_PIO_EDGE_CAP(KEY_BASE, 0x00); //清中断捕获寄存器
}

//按键中断初始化
void Key_Init()
{
alt_irq_register(KEY_IRQ, 0, Key_ISR); //注册中断函数
IOWR_ALTERA_AVALON_PIO_IRQ_MASK(KEY_BASE, 0xff); //开KEY中断
IOWR_ALTERA_AVALON_PIO_EDGE_CAP(KEY_BASE, 0x00); //清中断捕获寄存器
}

int main(void)
{
Key_Init();
led = 0x55;
while(1);
return 0;
}

效果:按键中断,点亮对应的led

视频:http://v.qq.com/boke/page/b/4/q/b0106bte24q.html

专栏文章内容及配图由作者撰写发布,仅供工程师学习之用,如有侵权或者其他违规问题,请联系本站处理。 联系我们

关键词:

相关推荐

如何精确的使用示波器进行测量!

视频 2009-07-20

中国汽车工业协会到访英特尔,共探智能汽车发展

SmartFactory解决方案助力客户创新集成

QNX宣布推出免费在线培训课程,赋能全球开发者社区

嵌入式系统 2025-03-25

设计有效的基础设施和运营人员配置方案,满足中国企业的出海需求

SMT技术1

资源下载 2007-02-09

灿芯半导体推出DDR3/4, LPDDR3/4 Combo IP

英飞凌成为万事达卡环保支付合作伙伴,携手推动可持续支付卡的发展

教你怎样改善输出滤波

视频 2009-07-24

“资本创新、拥抱AI和自开架构”是芯片设计业实现新旧动能转换的三大产业生态机会(一)

EDA/PCB 2025-03-25

是德科技和Mavenir合作加速推进移动性及多用户MIMO测试

DC-DC 转换器工作原理是什么?

视频 2009-07-24

学习并行总线波形捕获与分析!

贸泽电子开售可为汽车应用提供紧凑型连接的Molex MX-DaSH线对线连接器

Cadence利用NVIDIA Grace Blackwell加速AI驱动的工程设计和科学应用

EDA/PCB 2025-03-25

SMD焊接指南

资源下载 2007-02-09
更多 培训课堂
更多 焦点
更多 视频

技术专区