Altera_Forum
Honored Contributor
13 years agowhy the results i run or debug this code are different,your help would be appreciated
/*
* control.c * * Created on: 2012-11-15 * Author: zhanghan */ # include "alt_types.h"# include "altera_avalon_timer_regs.h"# include "sys/alt_irq.h"# include "system.h"# include <stdio.h># include <unistd.h> void timer_ISR(void); void init_spi(void); int d; int main(void) { printf("\nWelcome!!!\n"); init_spi(); printf("\nSpi initial succeed!\n"); while(1) { } return 0; } void init_spi(void) { d=0; IOWR_ALTERA_AVALON_TIMER_STATUS(TIMER_BASE,0x00); // IOWR_ALTERA_AVALON_TIMER_PERIODH(TIMER_BASE,25000>>16); // IOWR_ALTERA_AVALON_TIMER_PERIODL(TIMER_BASE,25000 && 0xffff); IOWR_ALTERA_AVALON_TIMER_CONTROL(TIMER_BASE,0x07); //start the timer alt_irq_register(TIMER_IRQ,(void*)TIMER_BASE,(void*)timer_ISR); } //interrupt service routine void timer_ISR(void) { printf("\nthe data is %d \n" ,d); d++; IOWR_ALTERA_AVALON_TIMER_STATUS(TIMER_BASE, 0x00); //clear the timeout bit }