新聞中心

EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計應(yīng)用 > 51單片機(jī)串口的問題

51單片機(jī)串口的問題

作者: 時間:2013-01-16 來源:網(wǎng)絡(luò) 收藏

想問一下:單片機(jī)串口在接收的時候是怎么接收的?如上位機(jī)一次發(fā)送一個字符串11223344,通過串口助手下發(fā)給單片機(jī)。用下面的程序
/***********************************************************/
/* 程序 */
/********************************************************/
void UART_SER () interrupt 4
{

uchar Temp; // 定義臨時變量

if(RI) // 判斷是接收中斷產(chǎn)生

{

RI=0; // 標(biāo)志位清零

Temp=SBUF; // 讀入的值

P1=Temp; // 把值輸出到 P1 口,用于觀察

SBUF=Temp; // 把接收到的值再發(fā)回電腦端

}

if(TI) // 如果是發(fā)送標(biāo)志位,清零

TI=0;
}

單片機(jī)能夠把上位機(jī)的數(shù)據(jù)全部接收后原樣傳輸回去
------------------------------------

我修改了一下程序:,把上面的判斷改為

if(RI) // 判斷是接收中斷產(chǎn)生

{

RI=0; // 標(biāo)志位清零

Temp=SBUF; // 讀入的值

P1=Temp; // 把值輸出到 P1 口,用于觀察

SBUF=Temp; // 把接收到的值再發(fā)回電腦端

while(!TI);

TI=0;

SBUF='o';

}


上一頁 1 2 下一頁

評論


相關(guān)推薦

技術(shù)專區(qū)

關(guān)閉