您的位置 首页 ADAS

LPC17XX串口接纳数据死机现象解决办法

写了段串口接收的函数gprs_callback放到串口中断中,如下:voidgprs_callback(void){if(GprsCntGRLEN)GprsReceive[GprsCnt++]=LPC

写了段串口接纳的函数gprs_callback放到串口中止中,如下:

void gprs_callback(void)
{
if(GprsCntGprsReceive[GprsCnt++] = LPC_UART2->RBR;
}

其间变量都是界说volatile的公共变量,可是发现程序极不安稳,常常运转一会就死机。

后来发现先把RBR送给一个局部变量,再送给公共变量就没问题了,如下:

void gprs_callback(void)
{
char b;
b = LPC_UART2->RBR;
if(GprsCntGprsReceive[GprsCnt++] = b;
}

详细原因还不清楚。

声明:本文内容来自网络转载或用户投稿,文章版权归原作者和原出处所有。文中观点,不代表本站立场。若有侵权请联系本站删除(kf@86ic.com)https://www.86ic.net/qiche/adas/277410.html

为您推荐

联系我们

联系我们

在线咨询: QQ交谈

邮箱: kf@86ic.com

关注微信
微信扫一扫关注我们

微信扫一扫关注我们

返回顶部