timer.c
来自「AVR mega16/mega32的UART FIFO发送.超时接收,广泛应用于」· C语言 代码 · 共 30 行
C
30 行
#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++;
}
}
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?