📄 timer2._c
字号:
//timer2
#include <iom48v.h>
#include <macros.h>
#include "main.h"
#include "modbus.h"
#include "timer2.h"
volatile TIMEBASESTRCUT timeBase;
volatile LEDCONTROL ledControl;
//uchar var_a,var_b;
//TIMER2 initialize - prescale:64
// WGM: Normal
// desired value: 1mSec
// actual value: 1.000mSec (0.0%)
void timer2_init(void)
{
TCCR2B = 0x00; //stop
ASSR = 0x00; //set async mode
TCNT2 = 0x83; //setup
OCR2A = 0x7D;
OCR2B = 0x00;
TCCR2A = 0x00;
TCCR2B = 0x04; //start
}
// timebase module.
void time_mission (void)
{
static uchar Cnt100ms;
static uchar varcou;
static uint cnt500ms;
timeBase.bits.b1ms = 0;
timeBase.bits.b10ms = 0;
if(timeBase.bits.bt1ms)
{
//--------------------
// PORTC ^= 0x02;
// subled();
//-----------------------
timeBase.bits.bt1ms = 0;
timeBase.bits.b1ms = 1;
if(receTimeOut>0)
{
receTimeOut--;
if(receTimeOut==0 && receCount>0)
{
receCount = 0;
checkoutError = 0;
}
} //if(receTimeOut>0)
varcou++;
if(varcou>=5)
{
ledControl.bits.refurbish = 1;
varcou = 0;
}
cnt500ms++;
if(cnt500ms>=200)
{
cnt500ms = 0;
ledControl.bits.once128ms = 1;
}
} //(timeBase.bits.bt1ms)
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -