输入捕捉0(带缓冲).c
来自「此程序为Freescale程序」· C语言 代码 · 共 48 行
C
48 行
/***************************************************************************
功能:定时器输入捕捉
作者:唐小进
时间:08.2.9
现象:随着捕捉时间不同,灯也变化
注意: 1.0--3为带缓冲的捕捉通道
2.4--7为不带缓冲的捕捉通道
3.注意ICOVW_NOVW0=1
DLYCT=0X03两个寄存器的用法(不用也行)
***************************************************************************/
#include <hidef.h> /* common defines and macros */
#include <mc9s12dg128.h> /* derivative information */
#pragma LINK_INFO DERIVATIVE "mc9s12dg128b"
void delay(int m){
int i,j;
for(i=0;i<500;i++)
for(j=0;j<m;j++){
}
}
/*********捕捉初始化*******/
void Timerinput0_init(void){
TIOS_IOS0=0; /*选择捕捉*/
TCTL4=0X01; /*上升延捕捉*/
TIE_C0I=1; /*中断使能*/
TSCR1_TEN=1; /*开启定时器*/
TSCR2_PR=7; /*除以128*/
//ICOVW_NOVW0=1; /*当它为1时,不能写入新值*/
//DLYCT=0X03;/*延时计数器控制寄存器*/
}
/********主函数*******/
void main (void){
DDRA=0XFF;
PORTA=0X00;
Timerinput0_init();
for(;;){
EnableInterrupts;
}
}
/**********捕捉中断*************/
interrupt void Timerinput0(void){
DisableInterrupts;
PORTA=(char)TC0;
delay(600);
TFLG1_C0F=1;
}
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?