ChenXC1121 发表于 2019-7-31 17:00:16

MSP430仿真异常

本帖最后由 ChenXC1121 于 2019-7-31 17:02 编辑

今天在调试MSP430F2132驱动SI4463,IAR软件仿真就出现个好奇怪的问题,只要程序执行到SI4463的启动发射语句(如下红色语句),IAR软件就会自己跳到_program_start位置,如附件图片,程序编译是正常的,不知道是哪里出了问题,请大神指点下,感激不尽!
网上有人说是SI4463在发射的时候电流太大,导致430单片机复位,于是我又试了直接给电路板上电,但整个程序的运行却是正常,都能正常与接收端的SI4463进行通信,单片机根本就没复位。

void SI446X_SEND_PACKET(unsigned char *txbuffer, unsigned char size, unsigned char channel, unsigned char condition)
{
    unsigned char tx_len = size;
    SI446X_TX_FIFO_RESET();
    SI446X_RX_FIFO_RESET();
    SI446X_CHANGE_STATE(2);
    while(SI446X_GET_DEVICE_STATE() != 2);
    SI446X_WAIT_CTS();
    CSN_L;
    SPI_ExchangeByte(WRITE_TX_FIFO,1);
#if PACKET_LENGTH == 0
    tx_len ++;
    SPI_ExchangeByte(size,1);
#endif
    while(size --)    { SPI_ExchangeByte(*txbuffer++,1); }
    CSN_H;
    SI446X_START_TX(channel, condition, tx_len);
}

ChenXC1121 发表于 2019-8-2 09:37:31


都没有人遇到这种情况吗,{:cry:} {:cry:} {:cry:} 求大神指导下

Ray______ 发表于 2019-8-2 09:50:38

发射电流过大,芯片复位了?

ChenXC1121 发表于 2019-8-2 10:06:35

Ray______ 发表于 2019-8-2 09:50
发射电流过大,芯片复位了?


但是我用电池供电时,程序的整个流程是能正常运行的啊,如果是复位,应该用电池也会复位吧。

擦鞋匠 发表于 2019-8-2 16:00:41

默认msp430是开启SVM和SVS,检查是否会触发PMM相关不可屏蔽中断(该中断会导致系统复位)

ChenXC1121 发表于 2019-8-6 21:18:55

Ray______ 发表于 2019-8-2 09:50
发射电流过大,芯片复位了?


原因找到了,我的电源有经过一个最大通过电流为100mA的电流表,应该是发射过程导通电流超过100mA,导致电流表瞬间断路了,从而单片机复位了。
页: [1]
查看完整版本: MSP430仿真异常