📄 qtimer.c
字号:
/*******************************************************************************
*
* Motorola Inc.
* (c) Copyright 2000 Motorola Inc.
* ALL RIGHTS RESERVED.
*
********************************************************************************
*
*
* File Name: qtimer.c
*
* Description: Source file for Quad Timer (QT) driver.
*
*
* Modules Included:
*
* Notes:
*
*
*******************************************************************************/
#include "appconfig.h"
#include "types.h"
#include "periph.h"
#include "arch.h"
#include "qtimer.h"
#ifdef __cplusplus
extern "C" {
#endif
void qtInit(arch_sTimerChannel *pTimerBase)
{
#if( defined(DSP56F803) || defined(DSP56F805) || defined(DSP56F807) )
if (pTimerBase == QTIMER_A0) {
#ifdef QT_A0_COMPARE_REG1
periphMemWrite(QT_A0_COMPARE_REG1, &pTimerBase->CompareReg1);
#endif
#ifdef QT_A0_COMPARE_REG2
periphMemWrite(QT_A0_COMPARE_REG2, &pTimerBase->CompareReg2);
#endif
#ifdef QT_A0_LOAD_REG
periphMemWrite(QT_A0_LOAD_REG, &pTimerBase->LoadReg);
#endif
#ifdef QT_A0_COUNTER_REG
periphMemWrite(QT_A0_COUNTER_REG, &pTimerBase->CounterReg);
#endif
#ifdef QT_A0_STATUS_CONTROL_REG
periphMemWrite(QT_A0_STATUS_CONTROL_REG, &pTimerBase->StatusControlReg);
#endif
#ifdef QT_A0_CONTROL_REG
periphMemWrite(QT_A0_CONTROL_REG, &pTimerBase->ControlReg);
#endif
}
if (pTimerBase == QTIMER_A1) {
#ifdef QT_A1_COMPARE_REG1
periphMemWrite(QT_A1_COMPARE_REG1, &pTimerBase->CompareReg1);
#endif
#ifdef QT_A1_COMPARE_REG2
periphMemWrite(QT_A1_COMPARE_REG2, &pTimerBase->CompareReg2);
#endif
#ifdef QT_A1_LOAD_REG
periphMemWrite(QT_A1_LOAD_REG, &pTimerBase->LoadReg);
#endif
#ifdef QT_A1_COUNTER_REG
periphMemWrite(QT_A1_COUNTER_REG, &pTimerBase->CounterReg);
#endif
#ifdef QT_A1_STATUS_CONTROL_REG
periphMemWrite(QT_A1_STATUS_CONTROL_REG, &pTimerBase->StatusControlReg);
#endif
#ifdef QT_A1_CONTROL_REG
periphMemWrite(QT_A1_CONTROL_REG, &pTimerBase->ControlReg);
#endif
}
if (pTimerBase == QTIMER_A2) {
#ifdef QT_A2_COMPARE_REG1
periphMemWrite(QT_A2_COMPARE_REG1, &pTimerBase->CompareReg1);
#endif
#ifdef QT_A2_COMPARE_REG2
periphMemWrite(QT_A2_COMPARE_REG2, &pTimerBase->CompareReg2);
#endif
#ifdef QT_A2_LOAD_REG
periphMemWrite(QT_A2_LOAD_REG, &pTimerBase->LoadReg);
#endif
#ifdef QT_A2_COUNTER_REG
periphMemWrite(QT_A2_COUNTER_REG, &pTimerBase->CounterReg);
#endif
#ifdef QT_A2_STATUS_CONTROL_REG
periphMemWrite(QT_A2_STATUS_CONTROL_REG, &pTimerBase->StatusControlReg);
#endif
#ifdef QT_A2_CONTROL_REG
periphMemWrite(QT_A2_CONTROL_REG, &pTimerBase->ControlReg);
#endif
}
if (pTimerBase == QTIMER_A3) {
#ifdef QT_A3_COMPARE_REG1
periphMemWrite(QT_A3_COMPARE_REG1, &pTimerBase->CompareReg1);
#endif
#ifdef QT_A3_COMPARE_REG2
periphMemWrite(QT_A3_COMPARE_REG2, &pTimerBase->CompareReg2);
#endif
#ifdef QT_A3_LOAD_REG
periphMemWrite(QT_A3_LOAD_REG, &pTimerBase->LoadReg);
#endif
#ifdef QT_A3_COUNTER_REG
periphMemWrite(QT_A3_COUNTER_REG, &pTimerBase->CounterReg);
#endif
#ifdef QT_A3_STATUS_CONTROL_REG
periphMemWrite(QT_A3_STATUS_CONTROL_REG, &pTimerBase->StatusControlReg);
#endif
#ifdef QT_A3_CONTROL_REG
periphMemWrite(QT_A3_CONTROL_REG, &pTimerBase->ControlReg);
#endif
}
if (pTimerBase == QTIMER_B0) {
#ifdef QT_B0_COMPARE_REG1
periphMemWrite(QT_B0_COMPARE_REG1, &pTimerBase->CompareReg1);
#endif
#ifdef QT_B0_COMPARE_REG2
periphMemWrite(QT_B0_COMPARE_REG2, &pTimerBase->CompareReg2);
#endif
#ifdef QT_B0_LOAD_REG
periphMemWrite(QT_B0_LOAD_REG, &pTimerBase->LoadReg);
#endif
#ifdef QT_B0_COUNTER_REG
periphMemWrite(QT_B0_COUNTER_REG, &pTimerBase->CounterReg);
#endif
#ifdef QT_B0_STATUS_CONTROL_REG
periphMemWrite(QT_B0_STATUS_CONTROL_REG, &pTimerBase->StatusControlReg);
#endif
#ifdef QT_B0_CONTROL_REG
periphMemWrite(QT_B0_CONTROL_REG, &pTimerBase->ControlReg);
#endif
}
if (pTimerBase == QTIMER_B1) {
#ifdef QT_B1_COMPARE_REG1
periphMemWrite(QT_B1_COMPARE_REG1, &pTimerBase->CompareReg1);
#endif
#ifdef QT_B1_COMPARE_REG2
periphMemWrite(QT_B1_COMPARE_REG2, &pTimerBase->CompareReg2);
#endif
#ifdef QT_B1_LOAD_REG
periphMemWrite(QT_B1_LOAD_REG, &pTimerBase->LoadReg);
#endif
#ifdef QT_B1_COUNTER_REG
periphMemWrite(QT_B1_COUNTER_REG, &pTimerBase->CounterReg);
#endif
#ifdef QT_B1_STATUS_CONTROL_REG
periphMemWrite(QT_B1_STATUS_CONTROL_REG, &pTimerBase->StatusControlReg);
#endif
#ifdef QT_B1_CONTROL_REG
periphMemWrite(QT_B1_CONTROL_REG, &pTimerBase->ControlReg);
#endif
}
if (pTimerBase == QTIMER_B2) {
#ifdef QT_B2_COMPARE_REG1
periphMemWrite(QT_B2_COMPARE_REG1, &pTimerBase->CompareReg1);
#endif
#ifdef QT_B2_COMPARE_REG2
periphMemWrite(QT_B2_COMPARE_REG2, &pTimerBase->CompareReg2);
#endif
#ifdef QT_B2_LOAD_REG
periphMemWrite(QT_B2_LOAD_REG, &pTimerBase->LoadReg);
#endif
#ifdef QT_B2_COUNTER_REG
periphMemWrite(QT_B2_COUNTER_REG, &pTimerBase->CounterReg);
#endif
#ifdef QT_B2_STATUS_CONTROL_REG
periphMemWrite(QT_B2_STATUS_CONTROL_REG, &pTimerBase->StatusControlReg);
#endif
#ifdef QT_B2_CONTROL_REG
periphMemWrite(QT_B2_CONTROL_REG, &pTimerBase->ControlReg);
#endif
}
if (pTimerBase == QTIMER_B3) {
#ifdef QT_B3_COMPARE_REG1
periphMemWrite(QT_B3_COMPARE_REG1, &pTimerBase->CompareReg1);
#endif
#ifdef QT_B3_COMPARE_REG2
periphMemWrite(QT_B3_COMPARE_REG2, &pTimerBase->CompareReg2);
#endif
#ifdef QT_B3_LOAD_REG
periphMemWrite(QT_B3_LOAD_REG, &pTimerBase->LoadReg);
#endif
#ifdef QT_B3_COUNTER_REG
periphMemWrite(QT_B3_COUNTER_REG, &pTimerBase->CounterReg);
#endif
#ifdef QT_B3_STATUS_CONTROL_REG
periphMemWrite(QT_B3_STATUS_CONTROL_REG, &pTimerBase->StatusControlReg);
#endif
#ifdef QT_B3_CONTROL_REG
periphMemWrite(QT_B3_CONTROL_REG, &pTimerBase->ControlReg);
#endif
}
#endif
if (pTimerBase == QTIMER_C0) {
#ifdef QT_C0_COMPARE_REG1
periphMemWrite(QT_C0_COMPARE_REG1, &pTimerBase->CompareReg1);
#endif
#ifdef QT_C0_COMPARE_REG2
periphMemWrite(QT_C0_COMPARE_REG2, &pTimerBase->CompareReg2);
#endif
#ifdef QT_C0_LOAD_REG
periphMemWrite(QT_C0_LOAD_REG, &pTimerBase->LoadReg);
#endif
#ifdef QT_C0_COUNTER_REG
periphMemWrite(QT_C0_COUNTER_REG, &pTimerBase->CounterReg);
#endif
#ifdef QT_C0_STATUS_CONTROL_REG
periphMemWrite(QT_C0_STATUS_CONTROL_REG, &pTimerBase->StatusControlReg);
#endif
#ifdef QT_C0_CONTROL_REG
periphMemWrite(QT_C0_CONTROL_REG, &pTimerBase->ControlReg);
#endif
}
if (pTimerBase == QTIMER_C1) {
#ifdef QT_C1_COMPARE_REG1
periphMemWrite(QT_C1_COMPARE_REG1, &pTimerBase->CompareReg1);
#endif
#ifdef QT_C1_COMPARE_REG2
periphMemWrite(QT_C1_COMPARE_REG2, &pTimerBase->CompareReg2);
#endif
#ifdef QT_C1_LOAD_REG
periphMemWrite(QT_C1_LOAD_REG, &pTimerBase->LoadReg);
#endif
#ifdef QT_C1_COUNTER_REG
periphMemWrite(QT_C1_COUNTER_REG, &pTimerBase->CounterReg);
#endif
#ifdef QT_C1_STATUS_CONTROL_REG
periphMemWrite(QT_C1_STATUS_CONTROL_REG, &pTimerBase->StatusControlReg);
#endif
#ifdef QT_C1_CONTROL_REG
periphMemWrite(QT_C1_CONTROL_REG, &pTimerBase->ControlReg);
#endif
}
if (pTimerBase == QTIMER_C2) {
#ifdef QT_C2_COMPARE_REG1
periphMemWrite(QT_C2_COMPARE_REG1, &pTimerBase->CompareReg1);
#endif
#ifdef QT_C2_COMPARE_REG2
periphMemWrite(QT_C2_COMPARE_REG2, &pTimerBase->CompareReg2);
#endif
#ifdef QT_C2_LOAD_REG
periphMemWrite(QT_C2_LOAD_REG, &pTimerBase->LoadReg);
#endif
#ifdef QT_C2_COUNTER_REG
periphMemWrite(QT_C2_COUNTER_REG, &pTimerBase->CounterReg);
#endif
#ifdef QT_C2_STATUS_CONTROL_REG
periphMemWrite(QT_C2_STATUS_CONTROL_REG, &pTimerBase->StatusControlReg);
#endif
#ifdef QT_C2_CONTROL_REG
periphMemWrite(QT_C2_CONTROL_REG, &pTimerBase->ControlReg);
#endif
}
if (pTimerBase == QTIMER_C3) {
#ifdef QT_C3_COMPARE_REG1
periphMemWrite(QT_C3_COMPARE_REG1, &pTimerBase->CompareReg1);
#endif
#ifdef QT_C3_COMPARE_REG2
periphMemWrite(QT_C3_COMPARE_REG2, &pTimerBase->CompareReg2);
#endif
#ifdef QT_C3_LOAD_REG
periphMemWrite(QT_C3_LOAD_REG, &pTimerBase->LoadReg);
#endif
#ifdef QT_C3_COUNTER_REG
periphMemWrite(QT_C3_COUNTER_REG, &pTimerBase->CounterReg);
#endif
#ifdef QT_C3_STATUS_CONTROL_REG
periphMemWrite(QT_C3_STATUS_CONTROL_REG, &pTimerBase->StatusControlReg);
#endif
#ifdef QT_C3_CONTROL_REG
periphMemWrite(QT_C3_CONTROL_REG, &pTimerBase->ControlReg);
#endif
}
if (pTimerBase == QTIMER_D0) {
#ifdef QT_D0_COMPARE_REG1
periphMemWrite(QT_D0_COMPARE_REG1, &pTimerBase->CompareReg1);
#endif
#ifdef QT_D0_COMPARE_REG2
periphMemWrite(QT_D0_COMPARE_REG2, &pTimerBase->CompareReg2);
#endif
#ifdef QT_D0_LOAD_REG
periphMemWrite(QT_D0_LOAD_REG, &pTimerBase->LoadReg);
#endif
#ifdef QT_D0_COUNTER_REG
periphMemWrite(QT_D0_COUNTER_REG, &pTimerBase->CounterReg);
#endif
#ifdef QT_D0_STATUS_CONTROL_REG
periphMemWrite(QT_D0_STATUS_CONTROL_REG, &pTimerBase->StatusControlReg);
#endif
#ifdef QT_D0_CONTROL_REG
periphMemWrite(QT_D0_CONTROL_REG, &pTimerBase->ControlReg);
#endif
}
if (pTimerBase == QTIMER_D1) {
#ifdef QT_D1_COMPARE_REG1
periphMemWrite(QT_D1_COMPARE_REG1, &pTimerBase->CompareReg1);
#endif
#ifdef QT_D1_COMPARE_REG2
periphMemWrite(QT_D1_COMPARE_REG2, &pTimerBase->CompareReg2);
#endif
#ifdef QT_D1_LOAD_REG
periphMemWrite(QT_D1_LOAD_REG, &pTimerBase->LoadReg);
#endif
#ifdef QT_D1_COUNTER_REG
periphMemWrite(QT_D1_COUNTER_REG, &pTimerBase->CounterReg);
#endif
#ifdef QT_D1_STATUS_CONTROL_REG
periphMemWrite(QT_D1_STATUS_CONTROL_REG, &pTimerBase->StatusControlReg);
#endif
#ifdef QT_D1_CONTROL_REG
periphMemWrite(QT_D1_CONTROL_REG, &pTimerBase->ControlReg);
#endif
}
if (pTimerBase == QTIMER_D2) {
#ifdef QT_D2_COMPARE_REG1
periphMemWrite(QT_D2_COMPARE_REG1, &pTimerBase->CompareReg1);
#endif
#ifdef QT_D2_COMPARE_REG2
periphMemWrite(QT_D2_COMPARE_REG2, &pTimerBase->CompareReg2);
#endif
#ifdef QT_D2_LOAD_REG
periphMemWrite(QT_D2_LOAD_REG, &pTimerBase->LoadReg);
#endif
#ifdef QT_D2_COUNTER_REG
periphMemWrite(QT_D2_COUNTER_REG, &pTimerBase->CounterReg);
#endif
#ifdef QT_D2_STATUS_CONTROL_REG
periphMemWrite(QT_D2_STATUS_CONTROL_REG, &pTimerBase->StatusControlReg);
#endif
#ifdef QT_D2_CONTROL_REG
periphMemWrite(QT_D2_CONTROL_REG, &pTimerBase->ControlReg);
#endif
}
if (pTimerBase == QTIMER_D3) {
#ifdef QT_D3_COMPARE_REG1
periphMemWrite(QT_D3_COMPARE_REG1, &pTimerBase->CompareReg1);
#endif
#ifdef QT_D3_COMPARE_REG2
periphMemWrite(QT_D3_COMPARE_REG2, &pTimerBase->CompareReg2);
#endif
#ifdef QT_D3_LOAD_REG
periphMemWrite(QT_D3_LOAD_REG, &pTimerBase->LoadReg);
#endif
#ifdef QT_D3_COUNTER_REG
periphMemWrite(QT_D3_COUNTER_REG, &pTimerBase->CounterReg);
#endif
#ifdef QT_D3_STATUS_CONTROL_REG
periphMemWrite(QT_D3_STATUS_CONTROL_REG, &pTimerBase->StatusControlReg);
#endif
#ifdef QT_D3_CONTROL_REG
periphMemWrite(QT_D3_CONTROL_REG, &pTimerBase->ControlReg);
#endif
}
}
#ifdef __cplusplus
}
#endif
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -