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

2019-08-01 14:37发布

如图,CC430的收发程序,等时间长了之后,程序就飞了,一直在reset_vector中不动了,不知道是什么情况。请高手指点。。
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
14条回答
568581185
1楼-- · 2019-08-02 04:27
我来学习了
觉得楼上应该是对的
peter_zheng
2楼-- · 2019-08-02 06:19
这种情况一般是接收的数组越界造成的。
hawksabre
3楼-- · 2019-08-02 08:59
 精彩回答 2  元偷偷看……
jinye645
4楼-- · 2019-08-02 14:55
问题解决,主要是发送字节数问题。
fanspeed
5楼-- · 2019-08-02 15:10
同遇到此问题,时间长了无法接受数据好像(没有单步调试),一会单步看看是哪里。请问楼主是怎么解决的,分享一下经验!
yufanjoy
6楼-- · 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里面显示的溢出了,但是我没有涉及数组和指针的操作,怎么会溢出啊,百思不得其解啊,烦请各位大侠帮我参谋参谋啊!!!

一周热门 更多>