发邮件向老师请教问题关于LPM4的问题

msp430的中断问题_百度知道
msp430的中断问题
&msp430g2211.h&void main(void){
WDTCTL = WDTPW + WDTHOLD;
// Stop watchdog timer
P1DIR |= 0x01;
// Set P1.0 to output direction
P1IE |= 0x08;
// P1.3 interrupt enabled
P1IES |= 0x08;
// P1.3 Hi/lo edge
P1IFG &= ~0x08;
// P1.3 IFG cleared
_BIS_SR(LPM4_bits + GIE);
// Enter LPM4 w/interrupt}// Port 1 interrupt service routine#pragma vector=PORT1_VECTOR__interrupt void Port_1(void){
P1OUT ^= 0x01;
// P1.0 = toggle
P1IFG &= ~0x08;
// P1.3 IFG cleared}在上面的代码中,有个 P1IES |= 0x08; ---------------后面的注释为P1.3 Hi/lo edge,我不明白,为啥0x08代表p1.3,我在msp430g2211.h头文件里找到,旦氦测教爻寄诧犀超篓bit3的值为#define BIT3
(0x0008u),这中间少个0,值肯定不一样,谁能解释一下?
从例程里找一个类似的改一下,应该和LZ要做的功能差不多;MC0是停止模式,MC1是增模式,还有中断函数的声明不太一样:#include &msp430g2553.h&void main(void){WDTCTL = WDTPW + WDTHOLD; // Stop WDTP1DIR |= BIT6; // P1.6 outputCCTL0 = CCIE; // CCR0 interrupt enabledCCR0 = 16384;TACTL = TASSEL_1 + MC_1; // ACLK, upmode_BIS_SR(GIE); // interrupt enable}// Timer A0 interrupt service routine#pragma vector=TIMER0_A0_VECTOR__interrupt void Timer_A (void){P1OUT ^= BIT6; // Toggle P1.6}
非常感谢你的程序,但是我不知道为啥P1IES |= 0x08,代表p1.3,而不是p1.4或者p1.5?
某公司设计部部长
其他类似问题
为您推荐:
msp430的相关知识
等待您来回答
下载知道APP
随时随地咨询
出门在外也不愁430常遇问题解答_百度文库
两大类热门资源免费畅读
续费一年阅读会员,立省24元!
评价文档:
430常遇问题解答
上传于||文档简介
&&M​S​P3学​习
大小:1.75KB
登录百度文库,专享文档复制特权,财富值每天免费拿!
你可能喜欢MSP430单片机入门基础例程1_百度文库
两大类热门资源免费畅读
续费一年阅读会员,立省24元!
MSP430单片机入门基础例程1
上传于||文档简介
&&M​S​P3单​片​机​入​门​基​础​例​程
阅读已结束,如果下载本文需要使用1下载券
想免费下载本文?
下载文档到电脑,查找使用更方便
还剩7页未读,继续阅读
你可能喜欢请教关于LPM4的问题! - 利尔达技术论坛
注册日期: Mar 2009
现金: 310 金币
资产: 310 金币
请教关于LPM4的问题!
/************************************************************************
本程序上电时LED2闪动1秒,然后进行LPM4,当K1被按下时,
程序应当进入中断程序,然后再点亮LED1。
但是,实际上则不是,当K1被按下时,程序则复位。此电路为我的实验电路。
请问大家,我的程序是那里出问题。谢谢大家指点!谢谢。
***********************************************************************/
#include&msp430x12x.h&
#define uchar unsigned char
#define uint unsigned int
#define LED1_SET_1
P1OUT|=BIT1//点亮LED1
#define LED1_CLE_0
P1OUT&=~BIT1//息灭LED1
#define LED2_SET_1
P1OUT|=BIT0//点亮LED2
#define LED2_CLE_0
P1OUT&=~BIT0//息灭LED2
void delay_ms(uint time)//延时1ms,内部DC0晶振
while(time--)
for(i=194;i&0;i--);
void main(void)
WDTCTL = WDTPW + WDTHOLD;
// 禁止看门狗
P1DIR |= 0x07;
//LED1,LED2,K1设为输出,其它设为输入
P1IE=0x04;
//K1为中断引脚
//上电LED2灯闪下。
LED2_CLE_0;
//点亮LED2
delay_ms(1000);
LED2_SET_1;
//息灭LED2
delay_ms(100);
//使能总中断
//进行LPM4
#pragma vector=PORT1_VECTOR// 端口电平中断
__interrupt void P1_int(void)
LPM4_EXIT;
//退出LPM4
//关闭总中断
P1IE=0x00;
//关闭P1口引脚中断
LED1_CLE_0;
//点亮LED1
delay_ms(1000);
//大延延时1S
上传的缩略图
------下载此贴附件最少需要拥有1金币,方有下载权限。------------下载此贴所有附件一共需要消耗5金币,下载第一个附件时会自动扣除。------
被 lgh050706 编辑.
注册日期: Mar 2009
现金: 310 金币
资产: 310 金币
请问有没有前辈能帮一下我啊!我会很感激你的!谢谢!
注册日期: Nov 2006
现金: 7905 金币
资产: 7905 金币
中断要有开又有关。
注册日期: Mar 2009
现金: 310 金币
资产: 310 金币
作者: xrg0228
中断要有开又有关。
#pragma vector=PORT1_VECTOR// 端口电平中断
__interrupt void P1_int(void)
LPM4_EXIT;
//退出低功耗模式
//关闭总中断
P1IE=0x00;
//关闭P1口引脚中断
P1OUT^=BIT0;//点亮LED2
delay_ms(1000);//大延延时1S
P1IE=0x04;
//开启P1口引脚中断
//开启总中断
大哥!我按你的说法改过来还是不行啊!
注册日期: Sep 2007
现金: 2475 金币
资产: 2475 金币
LPM4; //进行LPM4
LPM4_EXIT; //退出低功耗模式
拿下 _DINT(); //关闭总中断
注册日期: Jul 2006
帖子: 1,252
现金: 10862 金币
资产: 10862 金币
P1DIR |= 0x07; //LED1,LED2,K1设为输出,其它设为输入——是把P1.0/P1.1/P1.2都设置为输出模式
P1OUT=0——输出高电平
P1IE=0x04; //K1为中断引脚——K1按键应该是输入模式
应该改成如下:
P1DIR |= BIT0 + BIT1;
P1OUT |= BIT0 + BIT1;
P1IE |= BIT3;
__________________
天行健,君子以自强不息;地势坤,君子以厚德载物
注册日期: Mar 2009
现金: 310 金币
资产: 310 金币
作者: lsdfae20
P1DIR |= 0x07; //LED1,LED2,K1设为输出,其它设为输入——是把P1.0/P1.1/P1.2都设置为输出模式
P1OUT=0——输出高电平
可以啦!谢谢版主!希望以后能多多跟版主学习!
注册日期: Mar 2009
现金: 310 金币
资产: 310 金币
作者: lsdfae37
LPM4; //进行LPM4
LPM4_EXIT; //退出低功耗模式
拿下 _DINT(); //关闭总中断
大哥!你好!很多谢你的指教!但是如果在主main函数中有“LPM4_EXIT”退出低功耗模式,编绎的时候会出现以下的警告:
Error[Ta005]: This intrinsic function can only be used in interrupt or monitor functions
请问前辈为什么会这样呢!
注册日期: Jul 2006
帖子: 1,252
现金: 10862 金币
资产: 10862 金币
主函数中不需要LPM4_EXIT;
注册日期: Dec 2008
现金: 870 金币
资产: 870 金币
中断跳变沿不用选择么?
注册日期: Dec 2008
现金: 870 金币
资产: 870 金币
还有相应中断标志位没有,不过幸亏你关了总中断·······
注册日期: Mar 2009
现金: 310 金币
资产: 310 金币
好的!谢谢大家!谢谢!
请输入出现在右边图片上的六位数字或字母(不区分大小写)
[QUOTE=horizon428;181594]还有相应中断标志位没有清除,不过幸亏你关了总中断·······[/QUOTE]
当前查看此主题的会员: 1 (0 位会员和 1 位游客)
您不可以发表新主题
您不可以回复主题
您不可以上传附件
您不可以编辑您的帖子
论坛禁用 HTML 代码
用户控制面板
会员在线状态
【A】利尔达互动区
利尔达活动场
【B】技术在线:排难解疑 技术讨论
MSP430微控制器与32位微处理器
物联网技术应用专区
【C】采购区:小批量采购
采购销售讨论区
【D】休闲区:放松精神,轻松聊天
【E】论坛管理区:提出建议和意见关于论坛
所有时间均为北京时间。现在的时间是 。
版权所有(C) 利尔达科技有限公司 电话:86-571- 传真:86-571-
邮编:310011
地址:杭州市登云路425号利尔达科技大厦 上传我的文档
 下载
 收藏
该文档贡献者很忙,什么也没留下。
 下载此文档
正在努力加载中...
毕业设计丁苗
下载积分:1000
内容提示:毕业设计丁苗——均是精品资料,值得下载!,毕业设计丁苗
文档格式:DOC|
浏览次数:1|
上传日期: 07:33:34|
文档星级:
该用户还上传了这些文档
毕业设计丁苗
官方公共微信

我要回帖

更多关于 女生找男生请教问题 的文章

 

随机推荐