[应用相关] 中断的问题

[复制链接]
729|11
 楼主| bbapple 发表于 2018-3-25 16:42 | 显示全部楼层 |阅读模式
TI, se, ST, ic, IO
void key_init();
void main(void)
{
static int i;
//XTS(1);
//XT1OFF(0);
//XT1BYPASS(0);
//XCAP(0);
  _EINT();         //打开全局中断
  WDTCTL = WDTPW + WDTHOLD;
// Stop WDT禁止看门狗
  P1DIR |= BIT2;                          // P1.2 and P1.3 TA1/2 options 1为选引脚第二功能,0为引脚第一功能1
  P1SEL |= BIT2;
  CCR0 = 512-1;                             // PWM Period
  CCTL1 = OUTMOD_7;// CCR1 reset/set
i=168;
  CCR1 =i;              // CCR1 PWM duty cycle
TACTL = TASSEL_1 + MC_1;                  // ACLK时钟, 上升沿捕获
_BIS_SR(CPUOFF);                          // Enter LPM0

}
void key_init()
{
P1DIR&=~BIT3;     //P1.3为输入
   P1REN|=BIT3; //设置上拉
   P1OUT|=BIT3;
  P1IES|=BIT3; //高电平到低电平有效,即下降沿
  P1IFG&=~BIT3; //清除中断标志,带上这句最好
  P1IE|=BIT3;
}
#pragma vector=PORT1_VECTOR //中断
__interrupt void port1(void)
{
if(P1IFG&BIT3)
{
  static int i;
  if(i<=511)
    i += 168;
  else i = 0;      // 调整占空比
    P1IFG&=~BIT3; //这句清除中断标志
}
else
    P1IFG=0X00;
}
想编程长生一个终端来控制pwm的占空比变化,p1.3按键作为中断,可是我按了键发现波形没变化,这是怎么回事?
handleMessage 发表于 2018-3-25 16:42 | 显示全部楼层
用来控制灯的暗灭变化时可以吗?
zhouhuanの 发表于 2018-3-25 16:47 | 显示全部楼层
中断标志位有清除吗   呵呵    仔细查一查  
wanglaojii 发表于 2018-3-25 16:47 | 显示全部楼层
先测试一下按键中断管用吗?
laozhongyi 发表于 2018-3-25 16:51 | 显示全部楼层
配置之后再开启中断试试看。
Edisons 发表于 2018-3-25 16:52 | 显示全部楼层
读取不到数据吗?有可能是IO驱动不足。
_gege 发表于 2018-3-25 16:57 | 显示全部楼层
这个可能是硬件的问题。
Mozarts 发表于 2018-3-25 16:57 | 显示全部楼层
硬件没有问题再检查软件的。
Listate 发表于 2018-3-25 17:01 | 显示全部楼层
是不是中断程序没有执行呢??
heisexingqisi 发表于 2018-3-25 19:03 | 显示全部楼层
这是哪个单片机
Rangar 发表于 2018-3-30 11:00 | 显示全部楼层
按了键,单片机有没有读取到变化?
变化了,有没有执行到PWM更改?
android2 发表于 2018-3-30 20:55 | 显示全部楼层
可能是IO驱动不足
您需要登录后才可以回帖 登录 | 注册

本版积分规则

293

主题

1811

帖子

1

粉丝
快速回复 在线客服 返回列表 返回顶部