专栏中心

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

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

关键词:

相关推荐

华为发布《ISP一张网白皮书》,助力ISP掘金2B新蓝海

数字式温度计DS18B20的特性及应用

摩尔斯微电子完成8800万澳元(5900万美元)C轮融资,引领下一代物联网新纪元

联发科天玑9500:旨在超越Snapdragon 8 Gen 3和苹果A17

Gartner发布推动自主业务发展的主要新兴技术

2025 LoRa创新论坛圆满落幕,物联网新时代正式开启

MSP430—有源RFID的最佳选择

视频 2009-10-19

MSP430x2xx4xx系列

人工智能革命:它会拯救人类还是毁灭人类?

智能计算 2025-09-23

Microchip推出面向工业应用的灵活新型千兆以太网交换机系列支持TSN/AVB与冗余功能

联发科据报道正在考虑在美国生产芯片

国际视野 2025-09-23

MSP430x5xx系列

视频 2009-10-19

利尔达有源RFID平台资源

新的 MediaTek 天玑9500 手机芯片带来低功耗 AI 和相机升级

数字AV产品的抗干扰设计

数字抢答器的设计

2025迎人形机器人量产拐点 兆易创新全栈芯片已就位

有源RFID的常见应用

视频 2009-10-19

数字式温度湿度计

更多 培训课堂
更多 焦点
更多 视频

技术专区