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);
}
都没有人遇到这种情况吗,{:cry:} {:cry:} {:cry:} 求大神指导下 发射电流过大,芯片复位了? Ray______ 发表于 2019-8-2 09:50
发射电流过大,芯片复位了?
但是我用电池供电时,程序的整个流程是能正常运行的啊,如果是复位,应该用电池也会复位吧。 默认msp430是开启SVM和SVS,检查是否会触发PMM相关不可屏蔽中断(该中断会导致系统复位) Ray______ 发表于 2019-8-2 09:50
发射电流过大,芯片复位了?
原因找到了,我的电源有经过一个最大通过电流为100mA的电流表,应该是发射过程导通电流超过100mA,导致电流表瞬间断路了,从而单片机复位了。
页:
[1]