⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 etc.c

📁 此程序为DP256的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 + -