完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
扫一扫,分享给好友
最近做了msp430定时捕获的实验,想用计算一个下降沿脉冲的时间间隔,发现能捕获到但是每来一个下降沿的时候,捕获到多个是什么原因啊,用信号发生器给了一个1s周期的方波,采集到情况是每秒采集到2个,不知道哪里有问题
#include unsigned char overflow,value; void main (void) { WDTCTL = WDTPW+WDTHOLD; //关闭看门狗定时器 P1DIR = BIT0+BIT4; //设置P1.0方向为输出 P1SEL = BIT2; //设置P1.2端口为功能模块使用 TACTL = TASSEL0+TACLR+TAIE+MC_2; //定时器A时钟信号选择ACLK,同时设置定时器A计数模式为连续增计模式 CCTL1 = CM_2+SCS+CAP+CCIE; //下降沿捕获,CCI0A为捕获信号源 _EINT(); //中断允许 while(1); //LOOP } #pragma vector=tiMERA1_VECTOR //定时器A中断处理 __interrupt void timer_a(void) { switch(TAIV) //向量查询 { case 2: //捕获中断 if (CCTL1&CM1) //下降沿 { value++ } break; case 10: //定时器溢出中断 overflow++; break; //溢出计数加1 default:break; } } |
|
相关推荐
6个回答
|
|
建议加延时
|
|
|
|
謝謝!!!!!!!!!!!!!!!!!
|
|
|
|
|
|
|
|
厉害哦~~~~~
|
|
|
|
|
|
|
|
|
|
|
|
只有小组成员才能发言,加入小组>>
3010个成员聚集在这个小组
加入小组2852 浏览 1 评论
MSP430FR5994 使用库函数 定时器触发AD问题请教
3403 浏览 2 评论
请问怎么把下面51单片机的代码改成msp430 g2 pocket的代码,还有改下时间变成30秒
2322 浏览 1 评论
4778 浏览 1 评论
2555 浏览 1 评论
1293浏览 3评论
MSP430FR5994 使用库函数 定时器触发AD问题请教
3404浏览 2评论
2858浏览 1评论
1448浏览 0评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-11-8 09:21 , Processed in 1.414465 second(s), Total 62, Slave 54 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号