21ic电子技术开发论坛
标题:
定时器示例程序出错
[打印本页]
作者:
gongche
时间:
2018-10-20 19:15
标题:
定时器示例程序出错
void main(void)
{
WDTCTL = WDTPW + WDTHOLD; // Stop WDT
P11DIR |= 0x07; // ACLK, MCLK, SMCLK set out to pins
P11SEL |= 0x07; // P11.0,1,2 for debugging purposes.
P2SEL |= 0x0E; // P2.1 - P2.3 option select 0000 1110
P2DIR |= 0x0E; // P2.1 - P2.3 outputs
P4DIR |= 0x10; // P1.0 - Outputs
TA1CCTL0 = OUTMOD_4 + CCIE; // CCR0 toggle, interrupt enabled
TA1CCTL1 = OUTMOD_4 + CCIE; // CCR1 toggle, interrupt enabled
TA1CCTL2 = OUTMOD_4 + CCIE; // CCR2 toggle, interrupt enabled
TA1CTL = TASSEL__ACLK + MC__CONTINOUS + TACLR + TAIE; // ACLK, contmode, clear TAR,
// interrupt enabled
__bis_SR_register(LPM3_bits + GIE); // Enter LPM3, interrupts enabled
__no_operation(); // For debugger
}
// Timer1 A0 interrupt service routine
#pragma vector=TIMER1_A0_VECTOR
__interrupt void Timer_A0 (void)
{
TA1CCR0 += 4; // Add Offset to CCR0
}
// Timer_A3 Interrupt Vector (TAIV) handler
#pragma vector=TIMER1_A1_VECTOR
__interrupt void TIMER1_A1_ISR(void)
{
switch(__even_in_range(TA1IV,14))
{
case 0: break;
case 2: TA1CCR1 += 16; // Add Offset to CCR1
break;
case 4: TA1CCR2 += 100; // Add Offset to CCR2
break;
case 6: break; // CCR3 not used
case 8: break; // CCR4 not used
case 10: break; // CCR5 not used
case 12: break; // Reserved not used
case 14: P4OUT ^= 0x10; // overflow
break;
default: break;
}
}
作者:
chenho
时间:
2018-10-20 19:18
楼主的问题是在P4.4口上得不到周期为4S的方波吗?
作者:
zhuhuis
时间:
2018-10-20 19:21
50%占空比,脉宽2S,周期不就是4S吗?
作者:
zwll
时间:
2018-10-20 19:23
定时器有什么问题吗????
作者:
chuxh
时间:
2018-10-20 19:27
修改IO对周期没有影响的
作者:
zhuhuis
时间:
2018-10-20 19:36
这个没有看出什么问题,是做方波信号吗??
作者:
juventus9554
时间:
2018-10-20 19:39
楼主理解错误,大家淡定。
作者:
stly
时间:
2018-10-20 19:49
是不能进入定时器中断吗?
作者:
llljh
时间:
2018-10-20 19:52
计算的频率是技术不对吧。
作者:
dingy
时间:
2018-10-20 19:56
如果对于精度没有要求,可以通过定时器实现。
作者:
晓伍
时间:
2018-10-22 11:16
楼主到底什么问题
作者:
八层楼
时间:
2018-10-22 12:04
看着没有问题
作者:
观海
时间:
2018-10-22 12:08
没看出来哪里有问题呀
作者:
heimaojingzhang
时间:
2018-10-22 12:52
不知道楼主想说哪里有问题 看代码是没啥问题的
作者:
Ryze
时间:
2018-10-24 22:31
定时器有什么问题??
作者:
huzi2099
时间:
2018-10-25 09:33
什么人品啊
作者:
hanzhen654
时间:
2018-10-25 13:20
示波器看下波形,跟自己预想的是否一致
作者:
hanzhen654
时间:
2018-10-25 13:21
也可以用颗led作为指示,频率快了就另说了。
作者:
hanzhen654
时间:
2018-10-25 13:21
也可以用逻辑分析仪来采样波形,一样可以的。
作者:
hanzhen654
时间:
2018-10-25 13:22
主要还是要检查你的定时器配置,一般配置正确就没什么问题的。
欢迎光临 21ic电子技术开发论坛 (https://bbs.21ic.com/)
Powered by Discuz! X3.5