Other Parts Discussed in Thread:MSP430F5529
#define TIMER2_A1_VECTOR (43 * 1u) /* 0xFFD6 Timer2_A5 CC1-4, TA */
#define TIMER2_A0_VECTOR (44 * 1u) /* 0xFFD8 Timer2_A5 CC0 */
#define TIMER1_A1_VECTOR (48 * 1u) /* 0xFFE0 Timer1_A3 CC1-2, TA1 */
#define TIMER1_A0_VECTOR (49 * 1u) /* 0xFFE2 Timer1_A3 CC0 */
#define TIMER0_A1_VECTOR (52 * 1u) /* 0xFFE8 Timer0_A5 CC1-4, TA */
#define TIMER0_A0_VECTOR (53 * 1u) /* 0xFFEA Timer0_A5 CC0 */
上面的语句是从 msp430f5529.h 中粘贴的
我设置 P1.4 为(TA0.CCI3A)捕获输入口,应该使用哪个中断向量?
Susan Yang:
应该使用 TIMER0_A1_VECTOR(52 * 1u)/* 0xFFE8 Timer0_A5 CC1-4, TA */
F5529没有直接的例程capture 频率,但是F51x2系列有,因为F51x2系列有TImerD支持256-MHz / 4-ns 分辨率。
具体文档请参考: “”“Using the MSP430 Timer_D Module in Hi-Resolution Mode”
www.ti.com/…/slaa601.pdf
Code可以见MSP430F51x2 code example, 在MSP430Ware里就有。
MSP430F51x2_td0_24.c Timer0_D3, Single Input Capture mode, Normal Timer Mode
MSP430F51x2_td0_25.c Timer0_D3, Dual Input Capture mode, Normal timer mode, Period Measurement
MSP430F51x2_td0_26.c Timer0_D3, Dual Input Capture mode, Normal timer mode, DutyCycle Measurement
,
user6054941:
多谢,请问根据哪些参数判断是 TIMER0_A1_VECTOR的?
,
user6054941:
您好,请问还在吗?
,
user6054941:
我好像知道了
CCR0中断 是用TIMERX_A0_VECTOR ; 定时器溢出中断和CCRX中断用 TIMERX_A1_VECTOR 。
对不?
,
Susan Yang:
TIMER0_A1_VECTOR 和 TIMER0_A0_VECTOR 是TA0的中断向量
TIMER0_A5 是TIMER0_A 5CCR,意思是有5个独立比较器寄存器
MSP430中,不同的型号拥有不同的硬件配置,因此中断源也有所差别,TIMER0_A0_VECTOR表示定时器0 A0的中断源,0代表硬件上的定时器,有定时器0 定时器1等;A0代表定时器n内的A0寄存器,通常会有A0 A1等,他们都计数源都来自同一个定时器,但对计数源的数据可以进行不同的处理,从而产生不同的中断。
TIMER0_A0_VECTOR是计时器0的CCR0的中断寄存器
TIMER0_A1_VECTOR是计时器0的CCR1-CCR4、TA的寄存器