新聞中心

EEPW首頁 > 嵌入式系統(tǒng) > 設計應用 > LPC17XX串口接收數(shù)據(jù)死機現(xiàn)象解決辦法

LPC17XX串口接收數(shù)據(jù)死機現(xiàn)象解決辦法

作者: 時間:2016-11-09 來源:網(wǎng)絡 收藏
寫了段串口接收的函數(shù)gprs_callback放到串口中斷中,如下:

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

本文引用地址:http://2s4d.com/article/201611/318048.htm

其中變量都是定義volatile的公共變量,但是發(fā)現(xiàn)程序極不穩(wěn)定,常常運行一會就死機。

后來發(fā)現(xiàn)先把RBR送給一個局部變量,再送給公共變量就沒問題了,如下:

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

具體原因還不清楚。



評論


技術專區(qū)

關閉