?? lpctmr.h
字號(hào):
/******************************************************************************
*
* $RCSfile: $
* $Revision: $
*
* Header file for Philips LPC ARM Processors.
* Copyright 2004 R O SoftWare
*
* No guarantees, warrantees, or promises, implied or otherwise.
* May be used for hobby or commercial purposes provided copyright
* notice remains intact.
*
*****************************************************************************/
#ifndef INC_LPC_TMR_H
#define INC_LPC_TMR_H
// Timer & PWM Registers
typedef struct
{
REG32 ir; // Interrupt Register
REG32 tcr; // Timer Control Register
REG32 tc; // Timer Counter
REG32 pr; // Prescale Register
REG32 pc; // Prescale Counter Register
REG32 mcr; // Match Control Register
REG32 mr0; // Match Register 0
REG32 mr1; // Match Register 1
REG32 mr2; // Match Register 2
REG32 mr3; // Match Register 3
REG32 ccr; // Capture Control Register
REG32 cr0; // Capture Register 0
REG32 cr1; // Capture Register 1
REG32 cr2; // Capture Register 2
REG32 cr3; // Capture Register 3
REG32 emr; // External Match Register
REG32 mr4; // Match Register 4
REG32 mr5; // Match Register 5
REG32 mr6; // Match Register 6
REG32 pcr; // Control Register
REG32 ler; // Latch Enable Register
} pwmTmrRegs_t;
// Timer Interrupt Register Bit Definitions
#define TIR_MR0I (1 << 0) // Interrupt flag for match channel 0
#define TIR_MR1I (1 << 1) // Interrupt flag for match channel 1
#define TIR_MR2I (1 << 2) // Interrupt flag for match channel 2
#define TIR_MR3I (1 << 3) // Interrupt flag for match channel 3
#define TIR_CR0I (1 << 4) // Interrupt flag for capture channel 0 event
#define TIR_CR1I (1 << 5) // Interrupt flag for capture channel 1 event
#define TIR_CR2I (1 << 6) // Interrupt flag for capture channel 2 event
#define TIR_CR3I (1 << 7) // Interrupt flag for capture channel 3 event
// PWM Interrupt Register Bit Definitions
#define PWMIR_MR0I (1 << 0) // Interrupt flag for match channel 0
#define PWMIR_MR1I (1 << 1) // Interrupt flag for match channel 1
#define PWMIR_MR2I (1 << 2) // Interrupt flag for match channel 2
#define PWMIR_MR3I (1 << 3) // Interrupt flag for match channel 3
#define PWMIR_MR4I (1 << 8) // Interrupt flag for match channel 4
#define PWMIR_MR5I (1 << 9) // Interrupt flag for match channel 5
#define PWMIR_MR6I (1 << 10) // Interrupt flag for match channel 6
#define PWMIR_MASK (0x070F)
// Timer Control Register Bit Definitions
#define TCR_ENABLE (1 << 0)
#define TCR_RESET (1 << 1)
// PWM Control Register Bit Definitions
#define PWMCR_ENABLE (1 << 0)
#define PWMCR_RESET (1 << 1)
// Timer Match Control Register Bit Definitions
#define TMCR_MR0_I (1 << 0) // Enable Interrupt when MR0 matches TC
#define TMCR_MR0_R (1 << 1) // Enable Reset of TC upon MR0 match
#define TMCR_MR0_S (1 << 2) // Enable Stop of TC upon MR0 match
#define TMCR_MR1_I (1 << 3) // Enable Interrupt when MR1 matches TC
#define TMCR_MR1_R (1 << 4) // Enable Reset of TC upon MR1 match
#define TMCR_MR1_S (1 << 5) // Enable Stop of TC upon MR1 match
#define TMCR_MR2_I (1 << 6) // Enable Interrupt when MR2 matches TC
#define TMCR_MR2_R (1 << 7) // Enable Reset of TC upon MR2 match
#define TMCR_MR2_S (1 << 8) // Enable Stop of TC upon MR2 match
#define TMCR_MR3_I (1 << 9) // Enable Interrupt when MR3 matches TC
#define TMCR_MR3_R (1 << 10) // Enable Reset of TC upon MR3 match
#define TMCR_MR3_S (1 << 11) // Enable Stop of TC upon MR3 match
// Timer Capture Control Register Bit Definitions
#define TCCR_CR0_R (1 << 0) // Enable Rising edge on CAPn.0 will load TC to CR0
#define TCCR_CR0_F (1 << 1) // Enable Falling edge on CAPn.0 will load TC to CR0
#define TCCR_CR0_I (1 << 2) // Enable Interrupt on load of CR0
#define TCCR_CR1_R (1 << 3) // Enable Rising edge on CAPn.1 will load TC to CR1
#define TCCR_CR1_F (1 << 4) // Enable Falling edge on CAPn.1 will load TC to CR1
#define TCCR_CR1_I (1 << 5) // Enable Interrupt on load of CR1
#define TCCR_CR2_R (1 << 6) // Enable Rising edge on CAPn.2 will load TC to CR2
#define TCCR_CR2_F (1 << 7) // Enable Falling edge on CAPn.2 will load TC to CR2
#define TCCR_CR2_I (1 << 8) // Enable Interrupt on load of CR2
#define TCCR_CR3_R (1 << 9) // Enable Rising edge on CAPn.3 will load TC to CR3
#define TCCR_CR3_F (1 << 10) // Enable Falling edge on CAPn.3 will load TC to CR3
#define TCCR_CR3_I (1 << 11) // Enable Interrupt on load of CR3
// PWM Control Register Bit Definitions
#define PWMSEL2 (1 << 2) // Select double edge controlled mode for PWM2 output
#define PWMSEL3 (1 << 3) // Select double edge controlled mode for PWM3 output
#define PWMSEL4 (1 << 4) // Select double edge controlled mode for PWM3 output
#define PWMSEL5 (1 << 5) // Select double edge controlled mode for PWM5 output
#define PWMSEL6 (1 << 6) // Select double edge controlled mode for PWM6 output
#define PWMENA1 (1 << 9) // Enable PWM1 output
#define PWMENA2 (1 << 10) // Enable PWM2 output
#define PWMENA3 (1 << 11) // Enable PWM3 output
#define PWMENA4 (1 << 12) // Enable PWM4 output
#define PWMENA5 (1 << 13) // Enable PWM5 output
#define PWMENA6 (1 << 14) // Enable PWM6 output
#endif
?? 快捷鍵說(shuō)明
復(fù)制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號(hào)
Ctrl + =
減小字號(hào)
Ctrl + -