新聞中心

EEPW首頁(yè) > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > HT46RU232 UART串口通信的使用

HT46RU232 UART串口通信的使用

作者: 時(shí)間:2016-11-25 來(lái)源:網(wǎng)絡(luò) 收藏
HT46RU232擁有1個(gè)全雙工的異步串行通信口。下面就簡(jiǎn)單介紹一下232串口的使用。

其操作時(shí)序如下:

本文引用地址:http://m.butianyuan.cn/article/201611/321150.htm

(1).設(shè)置串口工作波特率、時(shí)鐘、以及數(shù)據(jù)位數(shù),起始位、停止位、錯(cuò)誤檢測(cè)等。

(2).準(zhǔn)備等待發(fā)送/接收響應(yīng)。

(3).當(dāng)檢測(cè)到發(fā)送/接收標(biāo)志的時(shí)候,進(jìn)行發(fā)送/接收數(shù)據(jù)。

程序范例:(中斷法接收數(shù)據(jù))

#pragma vector Uart_ISR @0x10 //串口中斷入口申明

void Uart_init()
{
_ucr1=0x80; //設(shè)置BNO,PRT,PREN,STOP位
_ucr2=0xe4; //使能TXEN、RXEN
_brg=51; //設(shè)置波特率,高速,8M,9600
_euri=1; //開串口中斷
_emi=1; //開總中斷
}

void Uart_send() //數(shù)據(jù)發(fā)送函數(shù)
{
unsigned char i;
_txen=1;
i=_usr;
_txr_rxr=data; //data此處為全局變量,為待發(fā)送數(shù)據(jù)
}

void Uart_ISR() //中斷數(shù)據(jù)接收
{
unsigned char i;
_rxen=1;
i=_usr;
data=_txr_rxr;
if(_perr==1||_nf==1||_ferr==1||_oerr==1) //錯(cuò)誤檢測(cè)
{
i=_usr;
i=_txr_rxr;
}
}

有了這幾個(gè)函數(shù),我們就可以利用232編寫出串口通信的實(shí)際例程。此處僅為參考,詳細(xì)使用方法,請(qǐng)參見盛群公司官方例程說(shuō)明。



關(guān)鍵詞: HT46RU232UART串口通

評(píng)論


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

關(guān)閉