PMM_unlockLPM5(); 函数会跑死,程序跑飞。

2019-07-21 19:33发布

芯片:msp430FR5849
仿真器:TI 5969开发板 SBW
UART芯片: PL2303
开发环境:IAR 6.4
现象:  MSP430每次都能进入下载仿真,但会经常出现以下问题:
        1)  初始换GPIO,调用“PMM_unlockLPM5()”会仿真跑死,特别是初始化GPIO为中断输入的时候(port1、port2);
        2) 仿真的时候,程序不能跑动到断点,会经常性跑飞;
      


求各位大神指点一二,小弟不胜感激。
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
8条回答
baici513
2019-07-21 23:42
GPIO初始化代码如下 :


    /*******************************/

    GPIO_setAsOutputPin(GPIO_PORT_P1,GPIO_PIN7);
    GPIO_setOutputHighOnPin(GPIO_PORT_P1, GPIO_PIN7);
//    GPIO_setOutputLowOnPin(GPIO_PORT_P1, GPIO_PIN7);

    //
    GPIO_setAsInputPinWithPullUpResistor(GPIO_PORT_P1, GPIO_PIN0);
    PMM_unlockLPM5();

    //SPI
    GPIO_setAsOutputPin(GPIO_PORT_P3,GPIO_PIN0 + GPIO_PIN2 +GPIO_PIN3);
    GPIO_setAsInputPin(GPIO_PORT_P3,GPIO_PIN1);
    GPIO_setOutputHighOnPin(GPIO_PORT_P3, GPIO_PIN0 + GPIO_PIN2 +GPIO_PIN3);
    PMM_unlockLPM5();


    GPIO_setAsOutputPin(GPIO_PORT_P4,GPIO_PIN4);
    GPIO_setOutputHighOnPin(GPIO_PORT_P4, GPIO_PIN4);
    PMM_unlockLPM5();
   
    //SPI
    GPIO_setAsOutputPin(GPIO_PORT_P3, GPIO_PIN4 + GPIO_PIN5 + GPIO_PIN6 + GPIO_PIN7);
    GPIO_setOutputHighOnPin(GPIO_PORT_P3, GPIO_PIN4 + GPIO_PIN5 + GPIO_PIN6 + GPIO_PIN7);
   
    GPIO_setAsOutputPin(GPIO_PORT_P1, GPIO_PIN6);
    GPIO_setOutputHighOnPin(GPIO_PORT_P1, GPIO_PIN6);   
    PMM_unlockLPM5();

    /*********************************/

    GPIO_setAsOutputPin(GPIO_PORT_P2,GPIO_PIN3);
    GPIO_setOutputHighOnPin(GPIO_PORT_P2, GPIO_PIN3);
//    GPIO_setOutputLowOnPin(GPIO_PORT_P2, GPIO_PIN3);
    PMM_unlockLPM5();


    Gpio_IrqInit(GPIO_PORT_P2, GPIO_PIN7, GPIO_HIGH_TO_LOW_TRANSITION);

//    Gpio_IrqInit(GPIO_PORT_P1, GPIO_PIN0, GPIO_HIGH_TO_LOW_TRANSITION);



    Gpio_IrqInit(GPIO_PORT_P1, GPIO_PIN1 + GPIO_PIN2, GPIO_HIGH_TO_LOW_TRANSITION);
    Gpio_IrqInit(GPIO_PORT_P1, GPIO_PIN2, GPIO_HIGH_TO_LOW_TRANSITION);

一周热门 更多>