📄 timer.c
字号:
#include "System.h"
//--------------定时器0——5ms程序--------------
//系统时钟:11059200Hz 分频:1024
//Timer0初始化
void Timer0Init(void) //5ms
{
TCCR0=0x00;
TCNT0=0xcb;
OCR0=0x35;
TCCR0=(1<<WGM01)|(1<<CS02)|(1<<CS00);
TIMSK|=(1<<OCIE0);
}
//Timer0 CTC中断,此中断发生周期是:5毫秒
ISR(TIMER0_COMP_vect)
{
if(UartTimeoutFlag)
{
if(WaitForUartCounter>=1)
{
UartTimeoutFlag=0;
WaitForUartCounter=0;
UartDataReadyFlag=1;
UCSRB&=~(1<<RXCIE); //禁止接收
}
else WaitForUartCounter++;
}
if(ReadTFlag)
{
if(ReadTCounter>=ReadTCounterTimeout)
{
ReadTFlag=0;
ReadTCounter=0;
ProcessReadT=_ReadT;
}
else ReadTCounter++;
}
if(EnableOneWireFlag)
{
if(CheckDS18B20Counter>=CheckDS18B20Timeout)
{
CheckDS18B20Counter=0;
CheckDS18B20TimeoutFlag=1;
}
else CheckDS18B20Counter++;
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -