mc_timer.h

来自「simulink real-time workshop for dragon12」· C头文件 代码 · 共 61 行

H
61
字号
/**********************************************************************************/
/* Header file timer.h                                                            */
/**********************************************************************************/
#ifndef _TIMER_H_
#define _TIMER_H_


#include "tmwtypes.h"       /* time_T */


#if ((HAS_TIMERBLOCKS >	0) | (HAS_RFCOMMS > 0))
/* ... defined in "cpp_req_defines.h" - by the resource checker script */


/* mode:  OC -> 1, IC -> 2 */
#define TMode_OC  1
#define TMode_IC  2

/* ECT settings */
#define  MIN_ECT_PERIOD			0.002730625             // minimum period : 2.73 ms  (65536*42 ns = 2.73 ms)
#define  MAX_ECT_PERIOD			MIN_ECT_PERIOD*128      // maximum period : 349.5 ms (MIN_PERIOD * 2^7 = 349.5 ms)

/* declare global ECT variables */
extern unsigned long myTOFcounter;
extern float         myECTperiod;

/* declare public functions */
extern void ECT_Init(void);
extern void ECT_Start(void);
extern void ECT_Stop(void);
extern void TSetPeriod_OC(unsigned int channel, unsigned int reload_value);
extern void TChannel_Conf(unsigned int channel, unsigned int mode, float channelPeriod);
extern void TChannel_Enable(unsigned int channel);
extern void TChannel_Disable(unsigned int channel);
extern float TChannel_ICresult(unsigned int channel);

extern __interrupt void TOF_ISR(void);               /* mc_main.c */
extern __interrupt void T0_ISR(void);                /* block implementing T0_ISR */
extern __interrupt void T1_ISR(void);                /* block implementing T1_ISR */
extern __interrupt void T2_ISR(void);                /* block implementing T2_ISR */
extern __interrupt void T3_ISR(void);                /* block implementing T3_ISR */
extern __interrupt void T4_ISR(void);                /* block implementing T4_ISR */
extern __interrupt void T5_ISR(void);                /* block implementing T5_ISR */
extern __interrupt void T6_ISR(void);                /* block implementing T6_ISR */
extern __interrupt void T7_ISR(void);                /* block implementing T7_ISR */

#endif /* HAS_TIMERBLOCKS | HAS_RFCOMMS */


/* core timer */
#define CORE_RTI      1
#define CORE_T7ISR    2

/* declare public functions */
extern void init_timebase(time_T sampletime);		     /* RTI or TC7 */
extern __interrupt void RTI_isr(void);               /* main time base (RTI) */
extern __interrupt void isr_timer7(void);            /* main time base (TC7) */


#endif _TIMER_H_

⌨️ 快捷键说明

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