📄 etc.c
字号:
#define ETC_GLOBALS
#include "LIN_Header.h"
void ETC_Init(void)
{
//1. Set TSCR1 register
// disable main timer
// timer stop in wait mode
// time flag fast clear
//TSCR1 = 0x50;
//2. set TSCR2
// Free running timer per ticks 16us
TSCR2 = ETC_TIMER_PRESCAL_128;
TIOS =0;
TIE =0;
}
void ETC_ICInit(void)
{
//1. SET ETC Input capture
TIOS &= ~ETC_IC_EN;
//2. set input capture triger edge
TCTL4 = ETC_IC_EDGE;
//3. Enable input capture interrupts
TIE |= ETC_IC_EN;//ETC_IC_INT_EN;
//4. enable pulse accumulator
//ICPAR_PA0EN = 1;
//5. ENABLE DELAY COUNTER
//DLYCT = ETC_IC_DLY_MAX;
ETC_nCapture_mp = 0;
ETC_tiCapture_mp = 0xffff;
ETC_tiCapture_mp0 = 0xffff;
}
L_U16 ETC_GetICTime(void)
{
return TC2;//TC0;
}
void ETC_Timer_Enable(void)
{
TSCR1 |= 0x80;
}
void ETC_Timer_Disable(void)
{
TSCR1 &= 0x7f;
}
L_U16 ETC_GetSampleTime(void)
{
L_U16 wRet;
wRet = ETC_GetICTime();
if(wRet > ETC_tiCapture_mp0) wRet -= ETC_tiCapture_mp0;
else wRet = wRet + 0xffff -ETC_tiCapture_mp0 + 1;
return wRet;
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -