3359|5

29

帖子

0

TA的资源

一粒金砂(中级)

楼主
 

2=新手又带着问题来啦~~~ [复制链接]

MCLK选择用LFXT1CLK即32768Hz应该用  BCSCTL2=SELM_3;
为什么这个io口中断加了那句跟不加延时是一样的呢?MCLK默认应该是DCOCLK的喔。。
是不是我还没设置好了??
我的io口中断程序:
#include
#define uchar unsigned char
void delay(uchar z)
{
  uchar x,y,u;
  for(x=0;x     for(y=0;y<255;y++)
      for(u=0;u<100;u++);
}
void Key_init(void)
{
//  P1DIR&=~BIT3;
P1REN|=BIT3;   
P1IES&=~BIT3;    //选择触发边沿,下降沿触发?
P1IE|=BIT3;     //打开P1.3的中断
P1IFG&=0x00;
}

void main(void)
{
  WDTCTL=WDTPW+WDTHOLD;
  BCSCTL2=SELM_3;
  P1DIR|=BIT0;         
  P1OUT|=BIT0;         
  Key_init();           //调用IO中断初始化函数
  delay(80);
  while(1)
  {
     _EINT();//开启总中断,这一步没有的话,所有的中断都不能触发??
     P1OUT|=BIT0;
  }
}
#pragma vector=PORT1_VECTOR
__interrupt void Key_interrput(void)
{
unsigned int i;
for(i=0;i<12000;i++)
if(P1IFG&BIT3)
{
  P1OUT&=~BIT0;
  delay(100);
  P1IFG&=0x00;
  P1REN|=BIT3;
}
}

最新回复

msp430g2553有内部上拉电阻设置的吗?我一般都是外加电阻的。  详情 回复 发表于 2013-8-19 21:22
 
点赞 关注

回复
举报

414

帖子

4

TA的资源

纯净的硅(高级)

沙发
 
首先你的按键中断初始化没有加上拉电阻,加个上拉电阻好些
你这个“for(i=0;i<12000;i++)
if(P1IFG&BIT3)
{
   P1OUT&=~BIT0;
   delay(100);
   P1IFG&=0x00;
   P1REN|=BIT3;”
是做什么呢?进入中断之后,P1IFG没有软件复位的话,一直保持不变。进入中断后可延时等待消抖,然后可以再比较下P1IN,以确定是否是按键按下。
建议程序进入待机模式,有按键时用中断唤醒。

点评

换个简单点的程序可能容易找到错误,我写了个简单的LED灯闪烁 #include #define uchar unsigned char #define uint unsigned int void delay(uint z) { uint x,y; for(x=0;x  详情 回复 发表于 2013-8-19 20:43

赞赏

1

查看全部赞赏

 
 

回复

29

帖子

0

TA的资源

一粒金砂(中级)

板凳
 

回复 沙发经世致用 的帖子

换个简单点的程序可能容易找到错误,我写了个简单的LED灯闪烁
#include
#define uchar unsigned char
#define uint unsigned int
void delay(uint z)
{
  uint x,y;
  for(x=0;x     for(y=0;y<100;y++);
}
void main()
{
  WDTCTL=WDTPW+WDTHOLD;
  BCSCTL2=SELM_3;
  P1DIR|=BIT0;
  P1SEL|=BIT4;
  P1DIR|=BIT4;
  while(1)
  {
    P1OUT^=BIT0;
    delay(100);
  }
}
当我屏蔽BCSCTL2=SELM_3;这句话跟加上这句话,频率都是11Hz左右,为什么呢???
 
 
 

回复

29

帖子

0

TA的资源

一粒金砂(中级)

4
 
这是我用iar仿真时CYCLECOUNTER的变化




 
 
 

回复

608

帖子

4

TA的资源

纯净的硅(初级)

5
 
msp430g2553有内部上拉电阻设置的吗?我一般都是外加电阻的。

点评

就三楼的程序,我是控制P1.0的LED闪烁的,我加不加BCSCTL2=SELM_3;这句话,LED闪烁频率都在11Hz左右。。。。。  详情 回复 发表于 2013-8-19 23:02
 
 
 

回复

29

帖子

0

TA的资源

一粒金砂(中级)

6
 

回复 5楼fghdzb 的帖子

就三楼的程序,我是控制P1.0的LED闪烁的,我加不加BCSCTL2=SELM_3;这句话,LED闪烁频率都在11Hz左右。。。。。
 
 
 

回复
您需要登录后才可以回帖 登录 | 注册

随便看看
查找数据手册?

EEWorld Datasheet 技术支持

相关文章 更多>>
关闭
站长推荐上一条 1/10 下一条

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版

站点相关: 国产芯 安防电子 汽车电子 手机便携 工业控制 家用电子 医疗电子 测试测量 网络通信 物联网

北京市海淀区中关村大街18号B座15层1530室 电话:(010)82350740 邮编:100190

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved
快速回复 返回顶部 返回列表