⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 qtimer.c

📁 MC56F802BLDC 可以使用的算法 就是电机启动有点慢
💻 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 + -