main.c

来自「altera epxa1的例子程序」· C语言 代码 · 共 127 行

C
127
字号
/*	*	Simple demonstration of using the Stripe Interrupt Controller.*	This version sets the interrupt mode to a 5-bit priority scheme.**	Author: ORC** 	Copyright (c) Altera Corporation 2001.* 	All rights reserved.*/#include <stdio.h>#include "timer.h"#include "stripe.h"#include "int_ctrl00.h"#include "irq.h"void detect_mode(void);int buffer[LIMIT], count;int main(void){	int i;		// Initialize the stripe timer which is used as a stopwatch	init_timer();		// Detect interrupt mode set by irq_init function	detect_mode();	// Enable PLD interrupts	enable_pld_int();	// Delay for 1 second to sample interrupts from the PLD	delay(1);	// Disable PLD interrupts 	disable_pld_int();	// Display interrupts that occurred in the PLD 	for (i = 0; i < count; i++)	{		// Don't display interrupts that occurred previously		if ( buffer[i] != buffer[i-1] )		{			switch(buffer[i])			{				case PLDINT0_FIQ_PRI:					printf("INT_PLD[0]\r\n");					break;									case INT1_IRQ_PRI:					printf("INT1\r\n");					break;												case INT2_IRQ_PRI:					printf("INT2\r\n");					break;					case INT3_IRQ_PRI:					printf("INT3\r\n");					break;					case INT4_IRQ_PRI:					printf("INT4\r\n");						break;					case INT5_IRQ_PRI:					printf("INT5\r\n");					break;					case INT6_IRQ_PRI:					printf("INT6\r\n");						break;										case INT7_IRQ_PRI:					printf("INT7\r\n");						break;										case INT8_IRQ_PRI:					printf("INT8\r\n");					break;															case INT9_IRQ_PRI:						printf("INT9\r\n");					break;														default:					printf("unknown interrupt\r\n");					break;								} // switch							} // if					} // for		while(1);	}// Detect interrupt modevoid detect_mode(void){	volatile unsigned int int_mode;		// Read the Interrupt Mode register	int_mode = *INT_MODE(EXC_INT_CTRL00_BASE) & INT_MODE_MODE_MSK;	// Print interrupt mode detected	switch(int_mode)	{		case INT_MODE_SIX_IND:			printf("\r\n*** 6 Individual Interrupt Mode ***\r\n");			break;					case INT_MODE_SIX_PRI:			printf("\r\n*** 6-bit Priority Interrupt Mode ***\r\n");			break;					case INT_MODE_FIVE_PRI:			printf("\r\n*** 5-bit Priority Interrupt Mode ***\r\n");			break;					default:			printf("\r\nUnknown Interrupt Mode\r\n");			break;	}}

⌨️ 快捷键说明

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