📄 speedin.c
字号:
#include <main.h>
#include "ex.h"
/*
+------------------------------------------------------------------------------+
函 数 名 : speedin_init
功能描述 : speedin的初始化
函数原形 : void speedin_init(void)
参数说明 :
支持资源 :
作 者 : 桂林
最后更改日期: 2002-11-26
+------------------------------------------------------------------------------+
*/
void speedin_init(void)
{
GPTCONB = 0x0049;
//从0开始加计数,预分频->40M/128=0.3125M
//可捕捉频率范围:0.3125M/65535=4.7hz --> 312.5khz
T3CNT = 0;
T3CON = 0xf742;
T3PR = 0xffff;//timer3的周期比较器->最大值
EVBIMRA = 0;
EVBIMRB = 0;
CAPCONB = 0x2240;//reset cap4
delay_ms(1);
CAPCONB = 0xa240;//cap4,timer3,Detects rising edge
EVBIMRC = 0x0001;//允许SPEEDIN_ISR
EVBIFRA = 0xffff;
EVBIFRB = 0xffff;
EVBIFRC = 0xffff;
}
/*
+------------------------------------------------------------------------------+
函 数 名 : speedin_read
功能描述 : speedin读函数
函数原形 : U16 speedin_read(void)
参数说明 :
支持资源 :
作 者 : 桂林
最后更改日期: 2002-11-26
+------------------------------------------------------------------------------+
*/
U16 speedin_read(void)
{
U16 tempi=0;
while((EVBIFRC&&0x0001)==0);
EVBIFRC |= 0x0001;
tempi = CAP4FIFO;
T3CNT = 0;
return(tempi);
}
/*
+------------------------------------------------------------------------------+
函 数 名 : SPEEDIN_ISR()
功能描述 : capture4中断函数
函数原形 : interrupt void SPEEDIN_ISR(void)
参数说明 :
支持资源 :
作 者 : 桂林
最后更改日期: 2002-11-26
+------------------------------------------------------------------------------+
*/
interrupt void SPEEDIN_ISR()
{
EnableINT;
EVBIFRC |= 0x0001;
GVAR.SPEEDNUM = CAP4FIFO;
T3CNT = 0;
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -