[MSP-EXP430F5529LP] 按下开发板的复位键后PxOUT Register寄存器值是不是被清零了?

[复制链接]

2

主题

16

帖子

52

积分

一粒轻沙

Rank: 1

积分
52
楼主
查看: 6348回复: 10 发表于 2019-7-17 10:41:10   只看该作者
程序运行的工程中,按一下开发板的复位键后,IO的PxOUT Register寄存器的值是不是被清零了?

打赏

参与人数 1赫兹币 +3 收起 理由
shengxiang + 3

查看全部打赏

2

主题

16

帖子

52

积分

一粒轻沙

Rank: 1

积分
52
沙发
发表于 2019-7-17 14:21:29   只看该作者
Shuyang 发表于 2019-7-17 13:20
是,所有寄存器复位之后都会回到默认值,PxOUT的默认值是0

谢谢“Shuyang”,不过我在仿真时发现,点击复位 Soft Reset  按钮后,寄存器窗口的其它寄存器都变为默认值0,而P1OUT寄存器却不是默认值0,一直保存着上次程序运行时赋值的值,除非给开发板断电P1OUT寄存器才会变为默认值0。下面是我的程序
void main (void)
{
    //Stop WDT
    WDT_A_hold(WDT_A_BASE);

    //将P1.0设置为输出模式
    GPIO_setAsOutputPin( GPIO_PORT_P1, GPIO_PIN0);
    //将P1.0拉高
    GPIO_setOutputHighOnPin( GPIO_PORT_P1, GPIO_PIN0);

    //Enter LPM4 w/interrupts enabled
    __bis_SR_register(LPM4_bits + GIE);
    //For debugger
    __no_operation();
}

2

主题

16

帖子

52

积分

一粒轻沙

Rank: 1

积分
52
板凳
发表于 2019-7-17 15:23:24   只看该作者
Shuyang 发表于 2019-7-17 14:44
软件复位和硬件复位可能是不同的,硬件复位之后一定是会被清零的

好的,我再去看看。

2

主题

16

帖子

52

积分

一粒轻沙

Rank: 1

积分
52
4#
发表于 2019-7-17 16:45:31   只看该作者
zjs2016 发表于 2019-7-17 15:23
好的,我再去看看。

还是不行喔,只要PxOUT Register寄存器在程序运行时被赋值后,按复位按键复位,PxOUT Register寄存器的值还是保持上一次的值。  下面是我写的测试程序,正常情况应该是开发板上电,延时一会led灯被点亮进入死循环,如果按下复位按键,程序则重头执行,实验现象和第一次一样,延时一会再点亮led灯进入死循环;  但是现在我这块开发板,执行下面的程序,上电执行程序后,按下复位键,led灯立马就亮,并没有和第一次程序执行的现象(延时一会led再亮)一样,而是一按复位后就亮,所以我怀疑还是PxOUT Register寄存器复位后没有被清零,不知道有没有其它原因,搞了一下午,感觉有点蒙
void main (void)
{
    WDTCTL = WDTPW | WDTHOLD;

    volatile unsigned int i;
    P1DIR |= 0x01; // 设置 P1.0 为输出
    P4DIR |= 0x80; // 设置 P4.7 为输出
    for( i=5; i>0; i--)//延时一段时间,再拉高对应的引脚。
    {
        __delay_cycles(500000);
    }
    P1OUT = 0x01;//点亮led1
    P4OUT = 0x80;//点亮led2
    while(1);
}

2

主题

16

帖子

52

积分

一粒轻沙

Rank: 1

积分
52
5#
发表于 2019-7-19 20:27:48   只看该作者
Shuyang 发表于 2019-7-18 06:46
按下复位按钮时是连着ccs在线仿真吗?如果不在线仿真,只给板子供电,按复位按钮也是一样的现象吗? ...

没有用ccs在线仿真,直接给板子供的电,我后面仔细看了看用户手册,好像明白为什么了,谢谢你的帮助喔!

2

主题

16

帖子

52

积分

一粒轻沙

Rank: 1

积分
52
6#
发表于 2019-7-19 20:31:50   只看该作者
shengxiang 发表于 2019-7-19 10:56
首先,给你点个赞,学进去了~  实验方法也很不错,会自己设计测试用例并且自行验证。

我复现了下你的问题 ...

好的,thank you!!
快速回复 返回顶部 返回列表