⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 button_test.c

📁 检测BUTTON下降沿
💻 C
字号:
/**************************************************************程序说明      :BUTTON 处理和中断 实验类    型      :Nios II作    者      :柳军胜公    司      :杭州自由电子科技            :http://www.freefpga.com电   话       :0571-85084089修    改      :日期时间      :20060522说    明      :              检测BUTTON下降沿,触发中断,点亮相应的LED。**************************************************************/#include <stdio.h>#include <io.h>#include <system.h>/*********************************************函数名:button_irq功  能:button中断处理函数输  入:context:相关内容指针,中断号返  回: 备  注:      读取相应BUTTON数据,点亮相应LED**********************************************/void button_irq(void *context,alt_u32 interrupt){  int iRet;  unsigned int data;  unsigned int seg;    /* 读取边沿捕获寄存器值 */  data=IORD(BUTTON_PIO_BASE,0x03);    /* 点亮相应的LED */  IOWR(LED_PIO_BASE,0x00,data);    /* 数码管显示 */  switch(data){    case 1:      seg=1;      break;    case 2:      seg=2;      break;    case 4:      seg=3;      break;    case 8:      seg=4;      break;    }  IOWR(SERIAL_SEGMENT_0_BASE, 0x00,seg);    /* 清除边沿捕获寄存器 */  IOWR(BUTTON_PIO_BASE,0x03,0x00);  }#include <stdio.h>int main(){  unsigned int data;    printf("BUTTON 中断实验!\n");    /* 数码管清0 */  IOWR(SERIAL_SEGMENT_0_BASE, 0x00,0);  IOWR(SERIAL_SEGMENT_0_BASE, 0x01,0);  IOWR(SERIAL_SEGMENT_0_BASE, 0x02,0);  IOWR(SERIAL_SEGMENT_0_BASE, 0x03,0);  /* 开放4BIT BUTTON的中断屏蔽 */  IOWR(BUTTON_PIO_BASE,0x02,0x0f);    /* 清除边沿捕获寄存器 */  IOWR(BUTTON_PIO_BASE,0x03,0x00);    /* 注册中断处理函数 */   if (alt_irq_register( BUTTON_PIO_IRQ, NULL,button_irq))  {    printf("alt_irq_register error\n");    return -1;  }    while(1);    return 0;}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -