📄 tacho.c
字号:
/*
* Project: CLOSED LOOP 3-PHASE AC DRIVE
*
* Microcontroller: Motorola MC68HC908MR24
*
* Module: TACHO.C
* Revision/Date: 2.0 / February 2000
* Description: This routine is 3rd level ISR responding to
* Input Capture interrupt. it calculates time
* between 2 subsequent IC events. Also provides
* IC filter.
* Input: IC generated by speed sensor
* Output: time between 2 subsequent IC events
*
* Compiler: Hiware08 Compiler
*
* Author: Radim VISINKA
* Company: MOTOROLA SPS
* Roznov System Application Laboratory
* Roznov pod Radhostem, Czech Republic
*
* ===================================================================
*
* Copyright (c): MOTOROLA Inc.,1998, All rights reserved.
*
* ====================================================================
* THIS SOFTWARE IS PROVIDED BY MOTOROLA RSAL "AS IS" AND ANY
* EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
* PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL MOTOROLA RSAL OR
* ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
* NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
* LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
* HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
* STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
* ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED
* OF THE POSSIBILITY OF SUCH DAMAGE.
* ====================================================================
*/
/* DEFINITION_START */
/* Include Header Files */
#include <mr24io.h>
#include "CONST.H" /* file contains global constants and
definitions */
/* Assembler Subroutine Definitions */
/* Constant Definitions */
/* Global Variables (External) - 8 bit */
/* Global Variables (External) - 16 bit */
extern unsigned int Tacho_pulses;
/* Local Variables - 8 bit */
/* Local Variables - 16 bit */
unsigned int Old_capture = 0;
/* DEFINITION_END */
void tacho (void)
{
Tacho_pulses = TACH3 - Old_capture; /* calculate the time between
2 rising edges */
Old_capture = TACH3;
TASC3 &= 0x7f; /* clear Timer A3 Interrupt flag */
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -