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 孙浩杰
-----------------------------------------------------------------------
刚刚有调试了一下,发现前面有_EINT();大循环里的语句在仿真的时候就不执行,不过还是不理解为什么这样设置 回复【1楼】sunhaojie 孙浩杰
-----------------------------------------------------------------------
你在哪里退出低功耗呢? 回复【2楼】muhp3
-----------------------------------------------------------------------
看来430板块人气不旺啊!问题已经解决了。想了一段时间,我决定学AVR了,算然有点舍不得430,但无奈430的资料太少了,用起来也不太方便。还是谢谢你啊!你430学的怎么样了? LPM3模式,没中断肯定是程序不走了啊!CPU都关了咋个走? 选个定时器或者别的什么退出低功耗吧!
页:
[1]