📄 freescale
字号:
/** ###################################################################
** THIS COMPONENT MODULE IS GENERATED BY THE TOOL. DO NOT MODIFY IT.
** Filename : Timer0_250kHz.C
** Project : handheld_ultrasonic_rangefinder
** Processor : MC9S08JM60CLHE
** Component : TimerInt
** Version : Component 02.157, Driver 01.18, CPU db: 3.00.046
** Compiler : CodeWarrior HCS08 C Compiler
** Date/Time : 2010-1-20, 16:47
** Abstract :
** This bean "TimerInt" implements a periodic interrupt.
** When the bean and its events are enabled, the "OnInterrupt"
** event is called periodically with the period that you specify.
** TimerInt supports also changing the period in runtime.
** The source of periodic interrupt can be timer compare or reload
** register or timer-overflow interrupt (of free running counter).
** Settings :
** Timer name : TPM1 (16-bit)
** Compare name : TPM10
** Counter shared : No
**
** High speed mode
** Prescaler : divide-by-1
** Clock : 24000000 Hz
** Initial period/frequency
** Xtal ticks : 48
** microseconds : 4
** seconds (real) : 0.000004
** Hz : 250000
** kHz : 250
**
** Runtime setting : none
**
** Initialization:
** Timer : Enabled
** Events : Enabled
**
** Timer registers
** Counter : TPM1CNT [$0021]
** Mode : TPM1SC [$0020]
** Run : TPM1SC [$0020]
** Prescaler : TPM1SC [$0020]
**
** Compare registers
** Compare : TPM1C0V [$0026]
**
** Flip-flop registers
** Mode : TPM1C0SC [$0025]
** Contents :
** No public methods
**
** Copyright : 1997 - 2009 Freescale Semiconductor, Inc. All Rights Reserved.
**
** http : www.freescale.com
** mail : support@freescale.com
** ###################################################################*/
/* MODULE Timer0_250kHz. */
#include "Events.h"
#include "PE_Error.h"
#include "Timer0_250kHz.h"
#pragma MESSAGE DISABLE C2705 /* WARNING C2705: Possible loss of data */
#pragma MESSAGE DISABLE C5919 /* WARNING C5919: Conversion of floating to unsigned integral */
#pragma MESSAGE DISABLE C5703 /* WARNING C5703: Parameter X declared in function F but not referenced */
#pragma MESSAGE DISABLE C4002 /* Disable warning C4002 "Result not used" */
/*** Internal macros and method prototypes ***/
/*
** ===================================================================
** Method : SetCV (component TimerInt)
**
** Description :
** The method computes and sets compare eventually modulo value
** for time measuring.
** This method is internal. It is used by Processor Expert only.
** ===================================================================
*/
#define Timer0_250kHz_SetCV(_Val) ( \
TPM1C0V = (word)(_Val), \
TPM1MOD = (word)(_Val) )
/*** End of internal method prototypes ***/
/*
** ===================================================================
** Method : Timer0_250kHz_Init (component TimerInt)
**
** Description :
** Initializes the associated peripheral(s) and the beans
** internal variables. The method is called automatically as a
** part of the application initialization code.
** This method is internal. It is used by Processor Expert only.
** ===================================================================
*/
void Timer0_250kHz_Init(void)
{
/* TPM1SC: TOF=0,TOIE=0,CPWMS=0,CLKSB=0,CLKSA=0,PS2=0,PS1=0,PS0=0 */
setReg8(TPM1SC, 0x00); /* Stop HW; disable overflow interrupt and set prescaler to 0 */
/* TPM1C0SC: CH0F=0,CH0IE=1,MS0B=0,MS0A=1,ELS0B=0,ELS0A=0,??=0,??=0 */
setReg8(TPM1C0SC, 0x50); /* Set output compare mode and enable compare interrupt */
Timer0_250kHz_SetCV(0x5FU); /* Inicialize appropriate value to the compare/modulo/reload register */
/* TPM1CNTH: BIT15=0,BIT14=0,BIT13=0,BIT12=0,BIT11=0,BIT10=0,BIT9=0,BIT8=0 */
setReg8(TPM1CNTH, 0x00); /* Reset HW Counter */
/* TPM1SC: TOF=0,TOIE=0,CPWMS=0,CLKSB=0,CLKSA=1,PS2=0,PS1=0,PS0=0 */
setReg8(TPM1SC, 0x08); /* Set prescaler and run counter */
}
/*
** ===================================================================
** Method : Timer0_250kHz_Interrupt (component TimerInt)
**
** Description :
** The method services the interrupt of the selected peripheral(s)
** and eventually invokes the beans event(s).
** This method is internal. It is used by Processor Expert only.
** ===================================================================
*/
ISR(Timer0_250kHz_Interrupt)
{
/* TPM1C0SC: CH0F=0 */
clrReg8Bits(TPM1C0SC, 0x80); /* Reset compare interrupt request flag */
Timer0_250kHz_OnInterrupt(); /* Invoke user event */
}
/* END Timer0_250kHz. */
/*
** ###################################################################
**
** This file was created by Processor Expert 3.07 [04.34]
** for the Freescale HCS08 series of microcontrollers.
**
** ###################################################################
*/
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -