icp-clollect.c

来自「下面子函数为定时器1、3 端口及其寄存器初始化说明ICP中断处理函数」· C语言 代码 · 共 54 行

C
54
字号
#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 + =
减小字号Ctrl + -
显示快捷键?