MSP432学习笔记11:定时器A的结构\基地址\函数汇总理解

29 篇文章 16 订阅 ¥59.90 ¥99.00

今日得以继续我的电赛MSP432学习之路:所用开发板MSP432P401R

定时器是任何单片机开发板十分重要的模块,在几日的学习使用过程中,本人也对其使用原理等产生过许多疑问,他究竟是怎么存储计数值、捕获值的?一个定时器四个通道是怎么回事?0~3这四个通道究竟会不会互相影响?当我清零捕获值时,对定时器计数值是否有影响呢?

此文主要讲解这些在MSP432定时器编程方面可能遇到的小疑问,大多是本人在研究过程中产生的,也许会帮助到大家!

 

一、MSP432一个定时器四个通道互不影响:

先笼统的说:我们可以认为MSP432有四个定时器、16个定时器模块,并且每个定时器都有对应引脚资源可以配置为或是捕获模式,或是PWM输出模式,都互不干扰! 

四个定时器通道(TimerA0、TimerA1、TimerA2、TimerA3)可以产生四种不同的定时器溢出中断,即不同的定时频率、定时周期

然后每个定时器都有四个模块,都可以分别配置为捕获或者PWM模式,就是有16个捕获或者PWM模块。

  • 21
    点赞
  • 29
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 16
    评论
这段代码是 MSP430 微控制器上的定时器和 GPIO 端口初始化代码。其中,TIM_init() 函数初始化了定时器 TA0 和 TA1,TA0 用于产生 1 秒钟中断一次的时钟信号,TA1 则用于控制 GPIO 端口 P2.0 的输出电平。GPIO_init() 函数则初始化了 P2.0、P2.4 和 P2.5 端口的输入输出方向。具体解释如下: 1. TA0CTL |= TASSEL_1 + MC_1 + TACLR + ID_3;:这行代码设置 TA0 定时器的时钟源为 ACLK(TASSEL_1)、计数模式为增计数(MC_1)、计数器清零(TACLR)以及分频系数为 2^3(ID_3),即将时钟信号分频为 2^3=8 倍。 2. TA0CCTL1 |= CCIE;:这行代码使能 TA0 的第 1 个捕获比较器中断,用于产生定时器中断。 3. TA0EX0 |= TAIDEX_3;:这行代码设置 TA0 的扩展分频系数为 2^3(TAIDEX_3),即再将时钟信号分频为 2^3=8 倍,最终得到的时钟信号频率为 32.768 kHz/8/8 = 512 Hz。 4. TA0CCR0 = 1024;:这行代码设置 TA0 的计数器上限为 1024,即 TA0 定时器每计数到 1024 时会产生一次中断,从而实现 1 秒钟中断一次的功能。 5. TA1CTL |= TASSEL_1+TACLR;:这行代码设置 TA1 定时器的时钟源为 ACLK(TASSEL_1)并清零计数器(TACLR)。 6. TA1CCTL1 = OUTMOD_7;:这行代码设置 TA1 的第 1 个捕获比较器输出模式为“复位 / 设置模式”(OUTMOD_7),即当 TA1 计数器计数到 TA1CCR1 时,P2.0 端口输出低电平;当 TA1 计数器计数到 TA1CCR0 时,P2.0 端口输出高电平。 7. TA1CCR0 = 16484;:这行代码设置 TA1 的计数器上限为 16484,即 TA1 定时器每计数到 16484 时会产生一次中断。 8. TA1CCR1 = 8096;:这行代码设置 TA1 的第 1 个捕获比较器比较值为 8096,即当 TA1 计数器计数到 8096 时,P2.0 端口输出低电平。 9. TA1CTL |= MC_0;:这行代码将 TA1 定时器的计数模式设置为停止计数(MC_0)。 10. P2DIR &= ~(BIT4+BIT5);:这行代码将 P2.4 和 P2.5 端口设置为输入模式。 11. P2DIR |= BIT0;:这行代码将 P2.0 端口设置为输出模式。 12. P2SEL |= BIT0;:这行代码将 P2.0 端口的功能设置为定时器输出。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 16
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

NULL指向我

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值