📄 timer3.c
字号:
#ifndef _TIMER3_C_
#define _TIMER3_C_
#include "c8051f000.h"
#include "timer3.h"
#include "system.h"
#include "typedef.h"
#include "rtos.h"
//-----------------------------------------------------------------------------
// Timer3_Init
//-----------------------------------------------------------------------------
//
// Configure Timer3 to auto-reload at interval specified by <counts> (no
// interrupt generated) using SYSCLK as its time base.
//
void fTimer3_Init (void)
{
// set up Timer3 for auto-reload to generate interrupts at 100ms intervals
TMR3CN = 0x00; // stop Timer3
TMR3RLH = ((-TC_10ms >> 8) & 0xff); // init Timer3 reload value
TMR3RLL = (-TC_10ms & 0xff);
TMR3H = 0xff; // init Timer3 to reload immediately
TMR3L = 0xff;
EIE2 = 0x01; // enable Timer3 OVR interrupt
TMR3CN = 0x04; // start Timer3
}
//------------------------------------------------------------------------------------
// Interrupt Service Routines
//------------------------------------------------------------------------------------
//------------------------------------------------------------------------------------
// Timer3_ISR
//------------------------------------------------------------------------------------
// This routine work as time stick every 10 ms
//
void fTimer3_ISR (void) interrupt 14
{
TMR3CN &= ~(0x80); // clear timer3 interrupt flag,must clear by softeare
vGlobalFlag |= bHavePassed2ms;
fRTOS_OperateMission();
}
#endif
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -