cc430 程序跑时间长了后进入reset_vector

2019-08-01 14:37发布

如图,CC430的收发程序,等时间长了之后,程序就飞了,一直在reset_vector中不动了,不知道是什么情况。请高手指点。。
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
14条回答
yufanjoy
2019-08-02 17:39
我也遇到了同样的问题,我是用串口自收自发:收到什么就发什么,用的是中断处理的,具体程序如下:
#pragma vector=USCI_A0_VECTOR
__interrupt void USCI_A0_ISR(void)
{
  switch(__even_in_range(UCA0IV,4))
  {
  case 0:break;                             // Vector 0 - no interrupt
  case 2:                                   // Vector 2 - RXIFG
    while (!(UCA0IFG&UCTXIFG));             // USCI_A1 TX buffer ready?
    UCA0TXBUF = UCA0RXBUF;                  // TX -> RXed character
    break;
  case 4:break;                             // Vector 4 - TXIFG
  default: break;
  }  
}

主函数就是对串口初始化而已,并未有其他关于数组和指针的操作,程序的主要是要实现串口接收和发送,所以就简单写了下串口初始化和上面贴出来的串口数据处理代码,用串口调试助手每隔80ms发送数据,程序在收到数据后就自动发到串口调试助手。
程序刚开始运行的半个多小时时间内,跑的很正常,但是要是时间再跑长点,程序就进入?reset_vector段里面去了,调试log里面显示的溢出了,但是我没有涉及数组和指针的操作,怎么会溢出啊,百思不得其解啊,烦请各位大侠帮我参谋参谋啊!!!

一周热门 更多>