Community
cancel
Showing results for 
Search instead for 
Did you mean: 
Altera_Forum
Honored Contributor I
713 Views

why 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 

}
0 Kudos
3 Replies
Altera_Forum
Honored Contributor I
32 Views

if i add these codes&#65306;IOWR_ALTERA_AVALON_TIMER_PERIODH(TIMER_BASE,25000> >16); 

IOWR_ALTERA_AVALON_TIMER_PERIODL(TIMER_BASE,25000 && 0xffff); 

the program won't work,why 

i have ready selected the"writable period"
Altera_Forum
Honored Contributor I
32 Views

You probably meant '25000 & 0xffff' instead of '25000 && 0xffff' which will result in 25000 instead of 1.

Altera_Forum
Honored Contributor I
32 Views

thanks very much,i'll try it,but i've already used that two statements many times before in my project,and there is nothing wrong.

Reply