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

📄 time.c

📁 ARM的keil_project
💻 C
字号:
/******************************************************************************/
/*  This file is part of the uVision/ARM development tools                    */
/*  Copyright KEIL ELEKTRONIK GmbH 2002-2004                                  */
/******************************************************************************/
/*                                                                            */
/*  TIME.C:  Time Functions for 100Hz Clock Tick                              */
/*                                                                            */
/******************************************************************************/

#include <LPC21XX.H>                            // LPC21XX Peripheral Registers
#include "Timer.h"

long timeval;

void tc0 (void) __attribute__ ((interrupt));    // Generate Interrupt 

/* Setup the Timer Counter 0 Interrupt */
void init_timer (void) {
    T0MR0 = 149999;                        // 10mSec = 150.000-1 counts
    T0MCR = 3;                             // Interrupt and Reset on MR0
    T0TCR = 1;                             // Timer0 Enable
    VICVectAddr0 = (unsigned long)tc0;          // set interrupt vector in 0
    VICVectCntl0 = 0x20 | 4;                    // use it for Timer 0 Interrupt
    VICIntEnable = 0x00000010;                  // Enable Timer0 Interrupt
}


/* Timer Counter 0 Interrupt executes each 10ms @ 60 MHz CPU Clock */
void tc0 (void) {
    timeval++;
    T0IR = 1;                              // Clear interrupt flag
    VICVectAddr = 0;                            // Acknowledge Interrupt
}

⌨️ 快捷键说明

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