"); //-->
继续学习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
专栏文章内容及配图由作者撰写发布,仅供工程师学习之用,如有侵权或者其他违规问题,请联系本站处理。 联系我们
相关推荐
如何精确的使用示波器进行测量!
中国汽车工业协会到访英特尔,共探智能汽车发展
SmartFactory解决方案助力客户创新集成
SMT环境中的最新复杂技术
电子时间继电器
录音解说词同步控制器
QNX宣布推出免费在线培训课程,赋能全球开发者社区
情感机器人缓解人类焦虑的情绪
设计有效的基础设施和运营人员配置方案,满足中国企业的出海需求
SMT技术1
上海移动怎么了?
灿芯半导体推出DDR3/4, LPDDR3/4 Combo IP
SMT入门培训教程
亚超声遥控开关
英飞凌成为万事达卡环保支付合作伙伴,携手推动可持续支付卡的发展
教你怎样改善输出滤波
利用Wave-Inspector进行数字系统查障
“资本创新、拥抱AI和自开架构”是芯片设计业实现新旧动能转换的三大产业生态机会(一)
是德科技和Mavenir合作加速推进移动性及多用户MIMO测试
DC-DC 转换器工作原理是什么?
学习并行总线波形捕获与分析!
SMT模板设计指南
贸泽电子开售可为汽车应用提供紧凑型连接的Molex MX-DaSH线对线连接器
Cadence利用NVIDIA Grace Blackwell加速AI驱动的工程设计和科学应用
加快vxworks在s3c4510b上启动速度的一个方法
CD4017、CD4066构成的电子切换开关
机器人实验室网址
SMD焊接指南
反相器组成的照明延时开关
小尺寸显示器件市场升温