完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
DEBUG 的时候发现中断时TAIV=10的时候也无法进入其中进行overflow++
/*P2.0和P1.2相连*/ #include #include "LCD12864.h" // LCD12864 #include "delay.h" // 延迟时间函数 unsigned char *ms1="捕获标志:"; unsigned int start, end; // 上升和下降沿TAR unsigned int overflow=0; // 溢出次数 unsigned int time=0; // 高电平时间 void Init_Clk(void); //初始化时钟 void main() { Init_Clk(); //初始化时钟 Init_Lcd(); //初始化LCD P2SEL |= BIT0; //P2.0在第2功能,ACLK为32768/8HZ 00000001 P2DIR |= BIT0; //P2.0为输出,ACLK P1SEL |= BIT2; //P1.2为功能模块TA1,捕获功能 P1DIR &= ~BIT2; //P1.2输入方向,作为捕获输入 CCTL1 =CM0+SCS+CCIS_0+CAP+CCIE; //输入上升沿捕获,CCI1A为捕获信号,容许CCIE // 捕获中断 TACTL =TASSEL_2+TACLR+TAIE+MC1 ; //定时器A时钟信号选择SMCLK,1MHz, //设置定时器A计数模式为连续增计模式 _EINT(); //开中断 Disp_HZ(0x80,ms1,10); while(1) { Time = end-start; //Time = (overflow*65535+(end-start)); Disp_4num(0x90,Time); Disp_4num(0x88,end); Disp_4num(0x8c,start); Disp_4num(0x98,overflow); } } #pragma vector=TIMERA1_VECTOR //定时器A中断处理 __interrupt void timer_a(void) { switch(TAIV) //向量查询 { case 10: //定时器溢出中断 overflow++; //溢出计数加1 break; case 2: //捕获中断, CCIFG1中断 if(CCTL1&CM0) //上升沿 { CCTL1=(CCTL1&(~CM0))|CM1; //更变设置为下降沿触发 start=TAR; //记录初始时间 overflow=0; //溢出计数变量复位,这句很关键的,想想为什么要这样复位? } else if (CCTL1&CM1) //下降沿 { CCTL1=(CCTL1&(~CM1))|CM0; //更变设置为上升沿触发 end=TAR; //用start, end, overflow计算脉冲宽度 } break; default: break; } } void Init_Clk(void) { unsigned int i; WDTCTL = WDTPW+WDTHOLD; //停止看门狗 BCSCTL1 &= ~XT2OFF; //使TX2有效,TX2上电时默认为关闭的 do { IFG1 &= ~OFIFG; //清振荡器失效标志 for(i= 0xff; i>0; i--); //延时,待稳定. } while ((IFG1 & OFIFG)!=0); //若振荡器失效标志有效,一直等待 BCSCTL2 |= SELM_2+DIVM_3; //使MCLK选择XT2且MCLK=XT2/8=1MHZ BCSCTL2 |= SELS+DIVS_3; //使SMCLK选择XT2且SMCLK=XT2/8=1MHZ } |
|
相关推荐
2个回答
|
|
哪位大神能解答一下
|
|
|
|
问题已解决
|
|
|
|
只有小组成员才能发言,加入小组>>
3010个成员聚集在这个小组
加入小组2852 浏览 1 评论
MSP430FR5994 使用库函数 定时器触发AD问题请教
3403 浏览 2 评论
请问怎么把下面51单片机的代码改成msp430 g2 pocket的代码,还有改下时间变成30秒
2322 浏览 1 评论
4778 浏览 1 评论
2555 浏览 1 评论
1291浏览 3评论
MSP430FR5994 使用库函数 定时器触发AD问题请教
3403浏览 2评论
2856浏览 1评论
1447浏览 0评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-11-8 06:54 , Processed in 1.215519 second(s), Total 79, Slave 63 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号