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

📄 timer.c

📁 altera epxa1的例子程序
💻 C
字号:
/*
*	Routine for delaying a specified amount of time (n seconds)
*
*	Author: ORC
*
* 	Copyright (c) Altera Corporation 2002.
* 	All rights reserved.
*/

#include <stdio.h>
#include "timer.h"
#include "timer00.h"
#include "stripe.h"

// Initialize stripe timer
void init_timer(void)
{
	// Set Timer0 Pre-scaler ratio
	*TIMER0_PRESCALE(EXC_TIMER00_BASE) = 0;
	
	// Set Timer0 limit to maximum value	 	
	*TIMER0_LIMIT(EXC_TIMER00_BASE) = 0xFFFFFFFF;
	
	// Set Timer0 to One-shot Delay Mode
	*TIMER0_CR(EXC_TIMER00_BASE) = TIMER0_CR_MODE_ONE;
}

// Delay for specified amount of time (in seconds)
void delay(unsigned int time)
{
	// Start Timer 0
	*TIMER0_CR(EXC_TIMER00_BASE) |= TIMER0_CR_S_MSK;
	
	// Poll Timer 0 when counter has reach specified time
	while (*TIMER0_READ(EXC_TIMER00_BASE) < (time * EXC_AHB2_CLK_FREQUENCY) );

	// Stop Timer 0
	*TIMER0_CR(EXC_TIMER00_BASE) &= ~TIMER0_CR_S_MSK;
}

⌨️ 快捷键说明

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