sunhaojie 发表于 2011-1-5 20:14:23

430硬件仿真时无法将变量的值赋给IO口

本人刚学习430,在硬件仿真时发现定义的全局变量的值无法在While(1)循环中赋给IO口(在进入while(1)循环前可以正常赋值),把并口下载线拔掉后正常,不知道大家遇到过这种情况吗?下面是这个程序的一部分


#include "msp430x14x.h"
#include "My_define.h"
#include "My_function.h"

#define keyin (P1IN&0X0F)

uchar keyval = 2;          //定义的全局变量

void main( void )
{

init();
WDTCTL = WDTPW + WDTHOLD;

P1IES = 0X0F;
P1IE = 0X0F;
P1DIR = BIT7;
P1OUT = 0;

P4DIR = 0XFF;
P5DIR = 0XFF;
P5OUT = 0xc0;
P4OUT = 0XF7;

_EINT();
while(1)
{
    P5OUT = duan;       //此语句仿真时无法执行
    LPM3;
}
}

sunhaojie 发表于 2011-1-5 20:26:58

回复【楼主位】sunhaojie 孙浩杰
-----------------------------------------------------------------------

刚刚有调试了一下,发现前面有_EINT();大循环里的语句在仿真的时候就不执行,不过还是不理解为什么这样设置

muhp3 发表于 2011-1-6 11:05:43

回复【1楼】sunhaojie 孙浩杰
-----------------------------------------------------------------------

你在哪里退出低功耗呢?

sunhaojie 发表于 2011-1-21 22:59:31

回复【2楼】muhp3
-----------------------------------------------------------------------

看来430板块人气不旺啊!问题已经解决了。想了一段时间,我决定学AVR了,算然有点舍不得430,但无奈430的资料太少了,用起来也不太方便。还是谢谢你啊!你430学的怎么样了?

cumtgao 发表于 2011-2-22 16:26:18

LPM3模式,没中断肯定是程序不走了啊!CPU都关了咋个走?

guisi 发表于 2011-5-20 11:04:06

选个定时器或者别的什么退出低功耗吧!
页: [1]
查看完整版本: 430硬件仿真时无法将变量的值赋给IO口