串口波特率轉(zhuǎn)換的實現(xiàn)
武漢波仕電子有限公司 ___向媛
串口通信,就是RS-232/RS-485通信,要求通信的雙方波特率等通信格式一樣才可以通信成功??墒窃谠S多情況下,兩種不同格式比如不同波特率的串口也要相互通信,這就必須進行串口波特率等格式的轉(zhuǎn)換。本文介紹了如何實現(xiàn)串口波特率的轉(zhuǎn)換。
如果串口設(shè)備1與串口設(shè)備2之間需要通信,但是它們之間的通信波特率不一樣。實現(xiàn)串口波特率的轉(zhuǎn)換的原理就是利用波特率轉(zhuǎn)換器的兩個串口,稱為串口A和串口B,分別設(shè)置為不同的波特率。串口A的波特率通過產(chǎn)品的J2、J1、J0來設(shè)置,串口B的波特率通過產(chǎn)品的K2、K1、K0來設(shè)置,見表格。其中串口A按照串口A設(shè)置的波特率接收串口設(shè)備1的數(shù)據(jù)并且立即從串口B按照串口B設(shè)置的波特率發(fā)送出去,同樣串口B以串口B設(shè)置波特率收到串口哦設(shè)備2的數(shù)據(jù)立即從串口A以串口A設(shè)置的波特率向串口設(shè)備1發(fā)送出去。
RS-232波特率轉(zhuǎn)換器用于實現(xiàn)不同波特率的RS-232口的通信轉(zhuǎn)換,純硬件跳線設(shè)置,*任何軟件設(shè)置。還可以與RS-232/485轉(zhuǎn)換器配合使用,可以實現(xiàn)RS-485的不同波特率之間的通信。串口波特率轉(zhuǎn)換器的外形為DB-9/DB-9轉(zhuǎn)接盒大小,如圖的產(chǎn)品左邊串口A為DB-9孔的RS-232口,右邊串口B為DB-9針的RS-232口,上邊為波特率設(shè)置的跳線,下面為5V電源接線端子。左邊DB-9孔可以直接外插計算機的RS-232口,右邊的DB-9針引腳分配同計算機的RS-232口,但是都只有RXD、TXD、GND三根線。
波特率轉(zhuǎn)換器的兩邊的串口可以分別獨立設(shè)置波特率,見下表。0-斷開,1-短路。*有波仕零延時自動收發(fā)轉(zhuǎn)換技術(shù),確保適合所有格式的串口軟件包括16進制!
串口A的波特率設(shè)置 |
|
串口B的波特率設(shè)置 |
||||||
J2 |
J1 |
J0 |
波特率 |
K2 |
K1 |
K0 |
波特率 |
|
0 |
0 |
0 |
1200 |
0 |
0 |
0 |
1200 |
|
0 |
0 |
1 |
2400 |
0 |
0 |
1 |
2400 |
|
0 |
1 |
0 |
4800 |
0 |
1 |
0 |
4800 |
|
0 |
1 |
1 |
9600 |
0 |
1 |
1 |
9600 |
|
1 |
0 |
0 |
19200 |
1 |
0 |
0 |
19200 |
|
1 |
0 |
1 |
38400 |
1 |
0 |
1 |
38400 |
|
1 |
1 |
0 |
57600 |
1 |
1 |
0 |
57600 |
|
1 |
1 |
1 |
115200 |
1 |
1 |
1 |
115200 |
波特率轉(zhuǎn)換器的內(nèi)部有一個帶雙串口的單片機。單片機自動完成兩個串口之間的數(shù)據(jù)交換。單片機程序用C語言編寫,**功能就是先將兩個串口UART1和UART2根據(jù)跳線設(shè)置的狀態(tài)進行波特率等初始化設(shè)置,然后隨時將UART1接收的數(shù)據(jù)立即送到UART2的發(fā)送區(qū)、以及將UART2接收的數(shù)據(jù)立即送到UART1的發(fā)送區(qū)。**代碼如下:
//串口1發(fā)送字符數(shù)組函數(shù)
void Uart1_Sendstr(uchar len,uchar stemp[])
{ uchar i=0;
for(i=0;i<len;i++)
{ TI=0;
SBUF=stemp[i];
while(TI==0);
TI=0; } }
//串口2發(fā)送字符數(shù)組函數(shù)
void Uart2_Sendstr(uchar len,uchar s[])
{ uchar i=0;
while(len--)
{ Uart2_Senddat(s[i]);
i++; } }
// ★★主函數(shù)★★★
void main()
{ uchar Uart1Set=0,Uart2Set=0;
PortInit(); //按鍵端口初始化 Uart1_Init(); //串口1初始化
Uart2_Init(); //串口2初始化
Uart1Set=J2; Uart1Set=(Uart1Set<<1)|J1;
Uart1Set=(Uart1Set<<1)|J0; //讀取端口值
switch(Uart1Set)
{ case 0x00:TH1=0xFF;TL1=0xFF;break; // 115200
case 0x01:TH1=0xFE;TL1=0xFE;break; // 57600
case 0x02:TH1=0xFD;TL1=0xFD;break; // 38400
case 0x03:TH1=0xFA;TL1=0xFA;break; // 19200
case 0x04:TH1=0xF4;TL1=0xF4;break; // 9600
case 0x05:TH1=0xE8;TL1=0xE8;break; // 4800
case 0x06:TH1=0xD0;TL1=0xD0;break; // 2400
case 0x07:TH1=0xA0;TL1=0xA0;break; // 1200
default:break;
}
本文介紹的串口波特率轉(zhuǎn)換的硬件方法和單片機代碼,對不同波特率之間的串口通信具有一定的使用**。波特率轉(zhuǎn)換器的優(yōu)點在于使用簡單方便,不足之處在于只能夠轉(zhuǎn)換波特率而沒有對數(shù)據(jù)位、停止位、校驗位進行轉(zhuǎn)換,而且對于不常見的波特率的轉(zhuǎn)換還需要定做。如果要實現(xiàn)功能全面的波特率等各種格式的全面轉(zhuǎn)換,還是要用計算機加上專門的波特率轉(zhuǎn)換軟件,通過對計算機的兩個串口進行波特率等格式的設(shè)置,而兩個串口在計算機內(nèi)部進行數(shù)據(jù)透明傳輸。我們已經(jīng)以另外文章《串口波特率轉(zhuǎn)換的純軟件實現(xiàn)》予以了介紹。
詳細(xì)參數(shù)請到www.查看。咨詢訂購電話:027-59708940/51518046 15102729700向小姐 QQ咨詢訂購:2360190989 MSN:bosicomcn@live.cn
詞條
詞條說明
????串口多機通信,就是RS-232/RS-485多機通信,要求通信的下位機必須帶地址。通信時由上位機先發(fā)送某個下位機的地址,位于同一個網(wǎng)絡(luò)中的所有下位機都同時讀取這個地址的值,然后與自己的地址進行比較,如果地址相同則接收后面的數(shù)據(jù),如果地址不同則不讀取后面的數(shù)據(jù)。某些情況下,下位機也可以主動向上位機發(fā)送數(shù)據(jù),但是必須按照預(yù)先設(shè)置的格式在數(shù)據(jù)**加上下位
? ? ? ? ? ? ? ? ?波仕推出XP免驅(qū)的USB串口轉(zhuǎn)換器 ????? ????? 為了滿足用戶在Windows?XP用戶免驅(qū)的USB串口轉(zhuǎn)換器的需求,武漢波仕電子特別**推出紀(jì)念版XP免
RS-485多主機通信方式 ??????????????????????? ?武漢波仕電子有限公司 向媛 ??? 傳統(tǒng)的RS-4
??????????????????????? ?以太網(wǎng)串口轉(zhuǎn)換器進入千兆時代 ??????&nb
公司名: 武漢波仕卡科技有限公司
聯(lián)系人: 向小姐
電 話: 18995634129
手 機: 15102729700
微 信: 15102729700
地 址: 湖北武漢洪山區(qū)洪山區(qū)關(guān)東科技園
郵 編: 430074
網(wǎng) 址: bosicomcn.cn.b2b168.com
公司名: 武漢波仕卡科技有限公司
聯(lián)系人: 向小姐
手 機: 15102729700
電 話: 18995634129
地 址: 湖北武漢洪山區(qū)洪山區(qū)關(guān)東科技園
郵 編: 430074
網(wǎng) 址: bosicomcn.cn.b2b168.com
¥1350.00
¥1400.00
¥500.00
¥1.00
¥360.00
BAUER電源轉(zhuǎn)換器 SR-A-G-230-004
¥2006.00