新聞中心

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

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

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

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

uchar Temp; // 定義臨時(shí)變量

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';

}


上一頁(yè) 1 2 下一頁(yè)

評(píng)論


相關(guān)推薦

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

關(guān)閉