int counter = 0x305600;
IOWR_ALTERA_AVALON_TIMER_PERIODL( TIMER0_BASE, (counter & 0xFFFF) );//lower significant bits for start value
IOWR_ALTERA_AVALON_TIMER_PERIODH( TIMER0_BASE, ((counter>>16) & 0xFFFF) ); //higher significant bits for start value
IOWR_ALTERA_AVALON_TIMER_STATUS( TIMER0_BASE, 0 ); //clear timeout
IOWR_ALTERA_AVALON_TIMER_CONTROL( TIMER0_BASE, 0x4 );//start timer
while((IORD_ALTERA_AVALON_TIMER_STATUS( TIMER0_BASE ) & ALTERA_AVALON_TIMER_STATUS_TO_MSK) == 0 )
{
}