打印

两个管脚同时有信号输出

[复制链接]
630|8
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
liliang9554|  楼主 | 2016-3-19 22:31 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
沙发
zhaoxqi| | 2016-3-19 22:35 | 只看该作者

捕获是需要设置管脚的

使用特权

评论回复
板凳
zhanghqi| | 2016-3-19 22:38 | 只看该作者
拿MSP430F149来说,如果我想用TA的CCR2做捕获,由DATASHEET上可知,捕获输入引脚为P1.3,所以程序设计如下:
void TACCR2_Init(void)
{
    P1SEL |= BIT3;
    P1DIR &= ~BIT3;                         //TACCR2捕获引脚P1.3
   
    TACCTL2 = CCIE + CM_1+ SCS + CAP;       //对应CCR2使能,上升沿同步捕获
    TACTL |= TASSEL_1 + MC_2 + TACLR + TAIE;//时钟源选择ACLK,连续数模式,清计数器
}
中断服务程序为:
#pragma vector = TIMERA1_VECTOR  
__interrupt void TIMERA1_ISR(void)
{
    switch(TAIV)                                             //TA中断向量查询
    {
        case 4:                                             //TCCR2捕获中断
               if (TACCTL2 & CM0)                           //上升沿捕获
              {                     
              }
               
              if (TACCTL2 & CM1)                             //下降沿捕获
              {                        
              }
        break;
      
        case 10:                                            //是溢出中断   
        break;
         
        default:
        break;
    }
}

使用特权

评论回复
地板
liliang9554|  楼主 | 2016-3-19 22:40 | 只看该作者
只是设置哪个管脚作为输入捕获功能,并不能设置具体捕获哪个管脚的脉冲吧

使用特权

评论回复
5
lizye| | 2016-3-19 22:43 | 只看该作者
是啊,捕获输入的引脚是固定的,配置一下就OK了

使用特权

评论回复
6
jlyuan| | 2016-3-19 22:45 | 只看该作者

3楼正解啊,很详细

使用特权

评论回复
7
liliang9554|  楼主 | 2016-3-19 22:48 | 只看该作者
嗯,知道了,多谢啊

使用特权

评论回复
8
米尔豪斯| | 2016-3-20 21:42 | 只看该作者
捕获输入的引脚是固定的

使用特权

评论回复
9
冰河w| | 2016-3-20 22:38 | 只看该作者
可以参考楼上的代码,基本就是这样设置

使用特权

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

本版积分规则

950

主题

11568

帖子

6

粉丝