打印
[STM32F1]

定时器示例程序出错

[复制链接]
607|17
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
liuzaiy|  楼主 | 2021-4-6 20:35 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

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;
}
}在P4.4口上得不到周期为4S的方波?

使用特权

评论回复
沙发
pangb| | 2021-4-6 20:36 | 只看该作者
50%占空比,脉宽2S,周期不就是4S吗?

使用特权

评论回复
板凳
chenjunt| | 2021-4-6 20:39 | 只看该作者
你使用的晶振是多大的?

使用特权

评论回复
地板
ousj| | 2021-4-6 20:44 | 只看该作者
楼主,你使用的定时器有什么问题吗?

使用特权

评论回复
5
morrisk| | 2021-4-6 20:47 | 只看该作者
修改IO对周期没有影响的。。

使用特权

评论回复
6
chuxh| | 2021-4-6 20:49 | 只看该作者
这个没有看出什么问题,是做方波信号吗

使用特权

评论回复
7
llljh| | 2021-4-6 20:51 | 只看该作者
应该是没有波形信号吧

使用特权

评论回复
8
zyf部长| | 2021-4-6 20:53 | 只看该作者
计算的频率是技术不对吧。

使用特权

评论回复
9
llljh| | 2021-4-6 20:56 | 只看该作者
配置周期函数的代码在哪里呢?

使用特权

评论回复
10
houcs| | 2021-4-6 20:58 | 只看该作者
如果对于精度没有要求,可以通过定时器实现。

使用特权

评论回复
11
xxmmi| | 2021-4-6 21:00 | 只看该作者
楼主的这个配置函数不是很完整。

使用特权

评论回复
12
kangzj| | 2021-4-6 21:02 | 只看该作者
这个是什么类型的定时器配置,跟32的好像不太一样。

使用特权

评论回复
13
liuzaiy|  楼主 | 2021-4-6 21:04 | 只看该作者
好的,我明天去单位试一下,多谢各位大侠了哈

使用特权

评论回复
14
wowu| | 2021-5-6 12:11 | 只看该作者
下载的时候报错吗

使用特权

评论回复
15
xiaoqizi| | 2021-5-6 12:13 | 只看该作者
实际得到的频率是多少的啊

使用特权

评论回复
16
木木guainv| | 2021-5-6 12:14 | 只看该作者
io也需要配置的

使用特权

评论回复
17
磨砂| | 2021-5-6 12:15 | 只看该作者
程序上看不好问题

使用特权

评论回复
18
晓伍| | 2021-5-6 12:16 | 只看该作者
使用的定时器是哪个定时器啊

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

735

主题

7546

帖子

2

粉丝