中易网

MSP430的CCRx中断在连续计数模式下怎么产生中断的

答案:2  悬赏:10  
解决时间 2021-02-07 01:52
程序在这里
void main()
{
WDTCTL=WDTPW+WDHOLD;
P1SEL |=0x0E;
P1DIR |=0x0F;
CCTL0 = OUTMOD_4 +CCIE;
CCTL1 = OUTMOD_4 +CCIE;
CCTL2 = OUTMOD_4 +CCIE;
TACAL = TASSEL_1 +MC_2 + TAIE;
_BIS_SR(LPM3_bitS + GIE);
}
#pragma vector = TIMERA0_VECTOR
__inturrput void timea_0 ()
{ CCR0+=4;}
#pragma vector = TIMERA1_VECTOR
__inturrput void timea_1 ()
{
switch(TAIV)
{
case 2:CCR0+=16;
break;
case 4:CCR0+=100;
break;

}
我就是不知道这个中断怎么触发使输出那几个频率的
连续计数模式不是在计数到0FFFF为止,才自动清零。 之中 CCRX这些没有付值怎么触发中断
CCRX这些中断触发的顺序是怎么样的 这里有两个中断向量 这3个CCRX的中断又怎么判断
请高手指点 小弟感激不仅尽
最佳答案
首先,如果你只是用连续计数模式,哪么CCTLx(比较捕获寄存器)根本可以不设置,
其次,CCR0的初值没有设置,中断只会在定时器溢出时才能发生。
然后,第二个中断,你是想用CCR1,CCR2吧,,也是因为你没设置初值,TAIV的值只会是10,也就是溢出中断产生才会进中断。case中的2,4是计数值到CCR1,2而使中断标志置位的。
。。。
最后,你每次中断后,只是把CCR0的值加4,没有做其它任何事,啥效果都没有。
CCRX中断触发是这样的:
首先是对它们付初值,在计数达到CCRX中的其中一个的数字时,产生中断,。然后根据TAIV的值作出你想做的事情。接着继续主函数,当达到第二个CCRX值时,才产生中断,重复以上动作。
例如:
CCR0=200;CCR1=500;CCR2=2000;
当计数到200时,中断产生,进入到值为TIMERA0_VECTOR的中断,执行中断中的程序。然后继续主函数,当计数到500时,进入TIMERA1_VECTOR中断,这时TAIV=2,执行case2后的程序。继续计数到2000时,进入TIMERA1_VECTOR中断,这时TAIV=4,执行case4后的程序
全部回答
搜一下:MSP430的CCRx中断在连续计数模式下怎么产生中断的
我要举报
如以上问答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
CISCO WS-C2960X-48TS-L与CISCO WS-C2960S-24
2015年办特种设备安装三级资质要什么条件
苹果6s与6plus哪个性价比高
双塘村这个地址在什么地方,我要处理点事
奥迪4s店能不能先开发票拿到保险再付钱
报考研究生的考试科目《英语一》,是考和报名
what do you see on your way to school?怎么
《背影》节选
手机上站着卡通图片怎么弄的
大陆中国人有什么方法可以像美国人一样直接购
狮子林附近宾馆
达特茅斯学院诉伍德沃德案件
现在的人类都是近亲结婚的产物
中国农业银行南宁北大支行我想知道这个在什么
淘宝退货EMS发的信息已经妥投,怎么淘宝的售
推荐资讯
名居家具在什么地方啊,我要过去处理事情
网店进口食品流通许可证办理流程
重庆圆博园在哪,怎么走?
求助几个问题 思想道德修养 与法律基础的
怎样下载查询手机流量
河南省汝州市
一个急脾气的人怎么改性格?吃饭快、走路快、
金牛座男友和我在一起同居两年了,但是突然分
因为夏天里有暑假 用英语怎么写
中国体育彩票(河南东路店)我想知道这个在什么
赤松子是谁啊
萧山区的遗传皮肤病,哪个三甲医院能看好?
手机登qq时,显示手机磁盘不足,清理后重新登
刺客的套装怎么选啊?