tc.h

来自「包括EPA协议栈」· C头文件 代码 · 共 51 行

H
51
字号
#ifndef _TC_H
#define _TC_H

#include "global.h"
#include "AT91R40008.h"
#include "lib_AT91R40008.h"


#ifdef TC_GLOBALS
	#define TC_EXTERN
#else
	#define TC_EXTERN extern
#endif	// SYSTIMER_GLOBAL

typedef void (*PTCHDLR)(void);

TC_EXTERN void TimerInit(AT91PS_TC TC_pt,uint32 Mode,uint32 Prio,uint32 Irq_id,uint32 Timer_id, uint32 int_type, PTCHDLR os_isr);

__inline void TCStart(AT91PS_TC ptc, uint16 ticks) {

	ptc->TC_RC = ticks;

	ptc->TC_CCR = AT91C_TC_CLKEN | AT91C_TC_SWTRG;
}

__inline void TCStop(AT91PS_TC ptc) {
	uint32 status;

	ptc->TC_CCR = AT91C_TC_CLKDIS;
	
	status = ptc->TC_SR;
}

__inline void TCReload(AT91PS_TC ptc, uint16 ticks) {

	uint32 status;

	ptc->TC_CCR = AT91C_TC_CLKDIS;

	status = ptc->TC_SR;

	ptc->TC_RC = ticks;

	ptc->TC_CCR = AT91C_TC_CLKEN | AT91C_TC_SWTRG ;
}

#define TCGetCV(ptc)          ptc->TC_CV

#define TCGetRC(ptc)          ptc->TC_RC

#endif	// _TC_H

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?