📄 timer.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 + -