📄 icp-clollect.c
字号:
#include <iom64v.h>
#pragma interrupt_handler timer1_icp_isr:12 //说明ICP中断处理函数
#pragma interrupt_handler timer3_icp_isr:26 //说明ICP中断处理函数
unsigned int T1oldvalue;
unsigned int T1newvalue;
unsigned int T3oldvalue;
unsigned int T3newvalue;
void delay_1ms(void)
{
unsigned int i;
for(i=0;i<1142;i++)
;
}
//==============================================
//下面子函数为定时器1、3 端口及其寄存器初始化
//==============================================
void timer_init(void)
{ DDRD=0x3f ;
PORTD=0xff;
TIMSK=0x20; // TI捕获使能,CK/8,普通模式,上升沿
TCCR1A=0x00;
TCCR1B=0xc2;
ICR1=0;
TCNT1=0;
ETIMSK=0x20; // T3捕获使能,CK/8,普通模式,上升沿
TCCR3A=0x00;
TCCR3B=0xc2;
ICR3=0;
TCNT3=0;
}
//==============================================
//下面子函数为定时器1、3 端口及其寄存器初始化
//==============================================
void timer1_icp_isr (void)
{
T1newvalue=ICR1;
ICR1=0;
TCNT1=0;
TCCR1B=0xc2;
}
void timer3_icp_isr (void)
{
T3newvalue=ICR3;
ICR3=0;
TCNT3=0;
TCCR3B=0xc2;
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -