完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
MSP430 利用中断做
#include "includes.h" void init( void ) { P2IES |= BIT4+BIT6 ; //P1.4、P1.6设为下降沿中断 P2IES &=~(BIT5+BIT7); //P1.5、P1.7设为上升沿中断 P2IE |=BIT4+BIT5+BIT6+BIT7; //允许P1.4567中断 P2IFG = 0; //避免第一次误动作 timerB_Init(); _EINT(); //总中断允许 } unsigned int EncoderCnt= 2001; //旋转角度计数值,全局变量,供其他程序访问 uchar EncoderStatus = 1; //旋转时序状态变量 #pragma vector =PORT2_VECTOR //P1口中断源 __interrupt void P2_ISR( void ) //声明一个中断服务程序,名为P1_ISR(); { _BIC_SR(SCG0); //如果从LPM3唤醒,恢复时钟准确性 if(P2IFG&BIT4) //-------------------A 下降中断(P1.4中断入口)-------------// { if (EncoderStatus ==1) { EncoderStatus = 2; EncoderCnt++ ;} //A 下沿,1->2 if (EncoderStatus == 4) { EncoderStatus= 3; EncoderCnt-- ;} //A 下沿,4->3 } if(P2IFG&BIT5) //-------------------A 上升中断(P1.5中断入口)-------------// { if (EncoderStatus ==3) { EncoderStatus = 4; EncoderCnt++;} //A 上沿,3->4 if (EncoderStatus == 2) { EncoderStatus= 1; EncoderCnt-- ;} //A 上沿,2->1 } if(P2IFG&BIT6) //-------------------B 下降中断(P1.6中断入口)-------------// { if (EncoderStatus ==4) { EncoderStatus = 1; EncoderCnt++ ;} //B 下沿,4->1 if (EncoderStatus == 3) { EncoderStatus= 2; EncoderCnt-- ;} //B 下沿,3->2 } if(P2IFG&BIT7) //-------------------B 上升中断(P1.7中断入口)-------------// { if (EncoderStatus ==2) { EncoderStatus = 3; EncoderCnt++ ;} //B 上沿,2->3 if (EncoderStatus == 1) { EncoderStatus= 4; EncoderCnt-- ;} //B 上沿,1->4 } //if(P2IFG&BIT1) EncoderCnt=2200;//转一圈,清零标志 P2IFG = 0; //清楚P1口中断标志位 if(EncoderCnt<=1)EncoderCnt=1; LPM3_EXIT; //退出中断后退出低功耗模式。若退出中断后要保留低功耗模式,将本句屏蔽 } |
|
相关推荐
1 条评论
2个回答
|
|
你好,请问一下,timerB_Init()这个timerB初始化函数的内容是什么?该怎样配置?还有includes.h这个库好像是用户自己配置的,还是说是msp430fxxxx.h这样的?还有注释是不是错了,端口不是p2.x之类的吗?
|
|
|
|
只有小组成员才能发言,加入小组>>
3030个成员聚集在这个小组
加入小组2920 浏览 1 评论
MSP430FR5994 使用库函数 定时器触发AD问题请教
3586 浏览 2 评论
请问怎么把下面51单片机的代码改成msp430 g2 pocket的代码,还有改下时间变成30秒
2340 浏览 1 评论
4799 浏览 1 评论
2572 浏览 1 评论
1321浏览 3评论
MSP430FR5994 使用库函数 定时器触发AD问题请教
3586浏览 2评论
2920浏览 1评论
1497浏览 0评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-11-26 05:39 , Processed in 1.495007 second(s), Total 104, Slave 79 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号