两个管脚同时有信号输出

[复制链接]
1841|27
 楼主| liliang9554 发表于 2018-6-7 13:45 | 显示全部楼层 |阅读模式
定时器A的捕获程序并没有设置是捕获哪个管脚的,当有两个管脚同时有信号输出时,那怎么办?
zhaoxqi 发表于 2018-6-7 13:47 | 显示全部楼层
捕获是需要设置管脚的
zhanghqi 发表于 2018-6-7 13:49 | 显示全部楼层
拿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 发表于 2018-6-7 13:52 | 显示全部楼层
只是设置哪个管脚作为输入捕获功能,并不能设置具体捕获哪个管脚的脉冲吧
lizye 发表于 2018-6-7 13:52 | 显示全部楼层

是啊,捕获输入的引脚是固定的,配置一下就OK了
jlyuan 发表于 2018-6-7 13:55 | 显示全部楼层
3楼正解啊,很详细
 楼主| liliang9554 发表于 2018-6-7 13:59 | 显示全部楼层
嗯,知道了,多谢啊
quickman 发表于 2018-6-8 22:04 | 显示全部楼层
你使用的是什么芯片呢
jstgotodo 发表于 2018-6-8 22:04 | 显示全部楼层
怎么可能运行这个程序呢
iamaiqiyi 发表于 2018-6-8 22:05 | 显示全部楼层
SP430F149定时器A捕获功能的测量频率非常好用
dzfansman 发表于 2018-6-8 22:05 | 显示全部楼层
用外部中断么
sanxingnote7 发表于 2018-6-8 22:06 | 显示全部楼层
定时器A模块捕获P1.2输入的信号
backlugin 发表于 2018-6-8 22:06 | 显示全部楼层

TACCTLx和TACCRx要与端口对上吧
sdCAD 发表于 2018-6-8 22:07 | 显示全部楼层
哪个msp430芯片呢
fengm 发表于 2018-6-8 22:07 | 显示全部楼层
不是捕获引脚吗
jkl21 发表于 2018-6-8 22:07 | 显示全部楼层
zhaoxqi 发表于 2018-6-7 13:47
捕获是需要设置管脚的

这个肯定的,要不程序不能执行。
10299823 发表于 2018-6-8 22:08 | 显示全部楼层
zhanghqi 发表于 2018-6-7 13:49
拿MSP430F149来说,如果我想用TA的CCR2做捕获,由DATASHEET上可知,捕获输入引脚为P1.3,所以程序设计如下 ...

这个程序能不能运行呢
dzfansman 发表于 2018-6-8 22:08 | 显示全部楼层
设置中断为上升沿触发,第一个高电平来时中断开启计时器,开始计时
quickman 发表于 2018-6-8 22:08 | 显示全部楼层
不同的芯片功能不同吧。
iamaiqiyi 发表于 2018-6-8 22:08 | 显示全部楼层
捕获IO端口不可能两个相同的。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

950

主题

11568

帖子

6

粉丝
快速回复 在线客服 返回列表 返回顶部