[MCU] 仅响应溢出中断

[复制链接]
622|14
 楼主| huangchui 发表于 2020-11-17 23:46 | 显示全部楼层 |阅读模式
捕获P2.3口的方波脉宽,但是运行结果是仅响应溢出中断
chenho 发表于 2020-11-17 23:51 | 显示全部楼层
一般是代码问题吧。可能没配置好,或者配置的定时器周期比要捕获的方波小
xxrs 发表于 2020-11-17 23:54 | 显示全部楼层
你的方波周期是多少?建议上传下代码
jiajs 发表于 2020-11-17 23:57 | 显示全部楼层
得看程序呀
onlycook 发表于 2020-11-18 09:31 | 显示全部楼层
看程序看代码
 楼主| huangchui 发表于 2020-11-18 18:47 | 显示全部楼层

/***************************(定时器A)频率捕获************************/
void TA_Capture(void)
{
   TACTL=TACLR+TASSEL_2+ID_3;           //TAR清除,捕获时钟选择SMCLK,8分频(选择8Mhz/8=1Mhz)
   TACTL|=TAIE;                         //此处打开定时器溢出中断
   
  TACCTL1=CM_1+CAP+SCS+CCIS_1;         //CCTL1,上升沿捕获,捕获模式,同步捕获,捕获端口选取CCI1B
   TACCTL1|=CCIE;                       //使能捕获中断
  
   TACCR0=10000-1;                      //定时器溢出值
   
   P2DIR&=~BIT3;                        //将P2.3设定为输入
   P2SEL|=BIT3;                         //将P2.3设定为频率捕获端口
   TACTL|=MC_1;                         //增计数模式
}

/*************************定时器A中断函数*************************/
#pragma vector = TIMERA1_VECTOR          //捕获中断
__interrupt void TIMERA1(void)
{
  switch(TAIV)                           //读中断向量寄存器
  {
    case 2: switch(cap_count)          //捕获瞬间,读取TAR的值
             {
                case 0: T_cap1=TACCR1;
                        cap_count=1;
                        overflow_count=0;
                        break;           //记录捕获值              
                case 1: T_cap2=TACCR1;
                        cap_count=0;
                        intermediate_overflow_count=overflow_count;
                        break;
             }  
            break;
    case  4:  break;      
    case 10:  overflow_count+=1;          //用于计算捕获时候的溢出脉冲
              spacing_count+=1;           //用于检测MODBUS协议中任意两帧数据的间隔
              if(spacing_count>2)                        
              {
               spacing_count=2;
               rec_ok=flag_2;             //flag_2用来确定,没收到一帧数据仅回答一次
              }
              break;
    default: break;      
  }
}
zhanghqi 发表于 2020-11-18 18:50 | 显示全部楼层
哪跟哪啊
 楼主| huangchui 发表于 2020-11-18 18:54 | 显示全部楼层
MSP430f149的TA的CCIxB
jlyuan 发表于 2020-11-18 18:58 | 显示全部楼层
不响应捕获中断
 楼主| huangchui 发表于 2020-11-18 19:04 | 显示全部楼层
有谁用过MSP430f149的TA的CCIxB吗?能发段程序看看吗?
spark周 发表于 2020-11-18 19:11 | 显示全部楼层

怎么不去官网上下呢
你的捕获分频是怎么设置的。
liliang9554 发表于 2020-11-18 19:14 | 显示全部楼层
捕获的时长是不是太长了
huwr 发表于 2020-11-18 19:18 | 显示全部楼层
这得是定时器的溢出中断设计的
 楼主| huangchui 发表于 2020-11-18 19:21 | 显示全部楼层
多谢大家讨论这么多哈,呵呵
qiangweii 发表于 2020-11-28 20:09 | 显示全部楼层
官网上有很多资料,楼主可以去官网上查找一下。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

918

主题

12323

帖子

4

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