MSP430F5529自主开发笔记1:编码器测速_定时器中断捕获法测速\测正反转

文章介绍了在MSP系列微控制器上,如何利用定时器CCR0的独有中断进行脉冲捕获。通过配置定时器工作模式、捕获通道和中断设置,以及处理中断服务函数,实现了对脉冲计数。全局变量Encoder_L用于存储脉冲计数值,避免局部变量生命周期问题。
摘要由CSDN通过智能技术生成

使用定时器CCR0中断进行捕获脉冲,定时器有俩种中断

1.第一种的他独有的共享中断,TIMEX_A1这种中断名,进入中断后switch可以进行判断中断信号来源,当然输入捕获也可以对应使用共享中断进行配置,但是我独有中断没搞明白,就想用CCR0独有中断进行尝试捕获测量脉冲。

2.独有中断是定时器第一个通道独有的,CCR0,TIMEX_A0这种中断名,A0对应他是定时器的第一个通道,初学者用定时器中断的时候记得要区分定时器中断的AX,这个X值,这个中断向量有俩个,对应同一个定时器中断也有这俩种。

我们用oled屏幕进行显示结果,第一步配置对应使用的GPIO端口模式,第二步使用库函数进行配置定时器模式,第三步进行中断配置,写中断里面函数,第四步对应打开中断总使能;

这个是我们主函数里面配置的定时器。使用的是库函数。

int main(void)
{   //必须关闭看门狗,导致波形超级振荡
    WDT_A_hold(WDT_A_BASE);
    int speed;
    OLED_Init();

    OLED_Clear();
    GPIO_setAsInputPin(GPIO_PORT_P2,GPIO_PIN6);

    GPIO_setAsPeripheralModuleFunctionInputPin(GPIO_PORT_P2,GPIO_PIN3);
    //开始定时器,连续计数模式;
    Timer_A_initContinuousModeParam Encode_config;
    Encode_config.clockSource = TIMER_A_CLOCKSOURCE_SMCLK;
    Encode_config.clockSourceDivider = TIMER_A_CLOC
评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值