中文名 | 串口流控 | 外文名 | Serial flow control |
---|
硬件流控使用串行電纜控制線上的電壓信號(hào)來控制數(shù)據(jù)的發(fā)送和接收。DTE和DCE在通訊過程中必須使用相同的流控方式。設(shè)置DCB結(jié)構(gòu)僅僅配置了DTE,必須對(duì)DCE進(jìn)行必要的設(shè)置以確保DTE和DCE使用相同類型的流控。串口通訊中的硬件流控有兩種方式:DTR/DSR方式和RTS/CTS方式。實(shí)際采用的方式和DCB結(jié)構(gòu)的初始化有關(guān)。DCB結(jié)構(gòu)中fOutxCtsFlow、fOutxDsrFlow、fDsrSensitivty、fRtsCon-trol、fDtrControl幾個(gè)成員的初始值很關(guān)鍵。不同的值代表不同的流控
開發(fā)串口通訊程序的過程中需要對(duì)串行端口進(jìn)行設(shè)置,包括波特率、校驗(yàn)方式、停止位和數(shù)據(jù)位,也包括流控方式的設(shè)置。端口設(shè)置就是對(duì)DCB結(jié)構(gòu)成員進(jìn)行設(shè)置。串行端口流控方式的設(shè)置采用的方法與設(shè)置串口其他參數(shù)的方法相同,主要分為兩種。第一種方法為使用API函數(shù)::GetCommState(),該函數(shù)返回DCB結(jié)構(gòu)的當(dāng)前設(shè)置,然后直接修改DCB結(jié)構(gòu)的設(shè)置值。該函數(shù)的使用方法如下:DCBdcb={O};If(?。海篏etcommState(hComm,&dcb))returnFALSE;//函數(shù)調(diào)用發(fā)生錯(cuò)誤else//已經(jīng)取回DCB結(jié)構(gòu)當(dāng)前設(shè)置第二種方法初始化DCB結(jié)構(gòu)的方法是手動(dòng)設(shè)置。程序首先分配DCB結(jié)構(gòu),然后將其中的每個(gè)成員設(shè)置成期望值。無論采用哪種方法,要使對(duì)DCB結(jié)構(gòu)的設(shè)置值對(duì)串行端口的行為產(chǎn)生影響,必須調(diào)用API函數(shù)::SetCommState()
流控可以使數(shù)據(jù)接收設(shè)備在不能接收數(shù)據(jù)時(shí)通知數(shù)據(jù)發(fā)送設(shè)備,使其停止發(fā)送。串口的流控經(jīng)常采用硬件流控和軟件流控兩種方式。開發(fā)串口通訊程序的過程中,可根據(jù)實(shí)際需要決定是否采用流控,采用硬件流控還是軟件流控。使用控件Mscomm32開發(fā)串口通訊程序簡(jiǎn)單直接,若需要計(jì)算機(jī)協(xié)調(diào)與外設(shè)的數(shù)據(jù)傳數(shù)時(shí),這種方法不能滿足要求;直接調(diào)用WIN32API函數(shù)的開發(fā)串口通訊程序,可以靈活的對(duì)串口進(jìn)行設(shè)置,但需要較多的Windows編程背景知識(shí)。
親很高興為您解答問題 串口屏開發(fā)流程步驟分為三步如下 1) 在Windows上用可視化組態(tài)式編輯軟件Designer生成界面, ...
我個(gè)人認(rèn)為PCI總線的串口卡 會(huì)比USB轉(zhuǎn)串口 穩(wěn)定許多工控機(jī)都是用的串口卡 是有一定原因的需單獨(dú)供電的設(shè)備接在USB轉(zhuǎn)的串口上曾經(jīng)出現(xiàn)過不穩(wěn)定的現(xiàn)象個(gè)人經(jīng)驗(yàn) 希望可以幫到你
moxa串口卡?來自臺(tái)灣的品牌,好像不錯(cuò)
軟件流控使用數(shù)據(jù)流中的兩個(gè)特殊的字符,XOFF和XON,來控制數(shù)據(jù)的接收和發(fā)送。二進(jìn)制方式傳輸不能使用軟件流控,否則XOFF和XON出現(xiàn)在二進(jìn)制數(shù)據(jù)中影響數(shù)據(jù)的傳輸。軟件流控適用于文本方式的數(shù)據(jù)傳輸。
格式:pdf
大?。?span id="hjb2oan" class="single-tag-height">1.6MB
頁數(shù): 3頁
評(píng)分: 4.8
串口延長(zhǎng)器設(shè)計(jì)
格式:pdf
大?。?span id="ckrzld6" class="single-tag-height">1.6MB
頁數(shù): 12頁
評(píng)分: 4.8
超級(jí)串口通信協(xié)議
數(shù)字量(開關(guān)量)串口控制器、模擬量串口控制器、步進(jìn)(伺服)電機(jī)運(yùn)動(dòng)串口控制器、PWM(脈寬調(diào)制)串口控制器、可控硅(通斷)串口控制器、可控硅斬波控制器等。
2.2.1 輸入控制的器件,即采集控制輸入信號(hào)類,又叫數(shù)據(jù)采集串口控制器:
1)光電式,電容式,電感式,霍爾式、機(jī)械式等各種傳感器控制器,如光電、紅外對(duì)射、金屬、人體等傳感器;光柵、編碼器、接近開關(guān)等位置傳感器;機(jī)械開關(guān)(如冰箱上用)傳感器;速度傳感器等;
輸入信號(hào)的數(shù)字量又分NPN或PNP型,如NPN:有信號(hào)為0V,PNP有信號(hào)為24V;
2)溫度、濕度、壓力、液位、氣體傳感器,如Pt100鉑電阻等,需要接一個(gè)變送器,才能被串口控制器控制;2.2.2 輸出控制的器件:
1)數(shù)字量輸出控制器可控制電磁閥、繼電器、汽缸、燈泡、電源開關(guān)、沙盤模型燈、LED燈光等;
2)模擬量輸出控制器可控制比例閥,舵機(jī),變頻器等;
3)PWM脈寬調(diào)制輸出可控制比例閥、變頻器、激光等;
4)脈沖輸出控制器可控制步進(jìn)電機(jī)、伺服電機(jī)等;利用控制器發(fā)送的脈沖個(gè)數(shù)(pulse number)來控制步進(jìn)伺服運(yùn)動(dòng);如可控制滾動(dòng)燈箱、自動(dòng)卷簾門、自動(dòng)窗簾等。
5)可控硅斬波輸出控制器可控制燈光、發(fā)熱絲等的電壓或功率值,來實(shí)現(xiàn)燈光亮度的變化、發(fā)熱絲功率的變化;也可叫調(diào)光調(diào)壓調(diào)功控制器;
較為常用的串口有9針串口(DB9)和25針串口(DB25),通信距離較近時(shí)(<12m),可以用電纜線直接連接標(biāo)準(zhǔn)RS232端口(RS422,RS485較遠(yuǎn)),若距離較遠(yuǎn),需附加調(diào)制解調(diào)(MODEM)。最為簡(jiǎn)單且常用的是三線制接法,即地、接收數(shù)據(jù)和發(fā)送數(shù)據(jù)三腳相連。
顧名思義,就是可通過串口實(shí)現(xiàn)控制功能的一臺(tái)控制器。即由上位機(jī)通過串口發(fā)送特定協(xié)議格式的指令給控制器,進(jìn)而來控制外圍設(shè)備或器件,也叫單片機(jī)串口控制器。
串口控制器就是1臺(tái)寫入了串口通信程序的單片機(jī)控制器,有2種工作模式:
1)上位機(jī)監(jiān)控模式:可由上位機(jī)串口控制,實(shí)現(xiàn)串口監(jiān)控;
2)脫機(jī)控制模式:在通過上位機(jī)設(shè)置好相關(guān)參數(shù)后,也可脫離上位機(jī)進(jìn)行獨(dú)立控制。
【備注】
a.串口通信程序:即單片機(jī)控制器與上位機(jī)通信的程序。
b.若一臺(tái)單片機(jī)控制器若沒寫入串口通信程序,只寫入相關(guān)邏輯程序,則實(shí)現(xiàn)的是獨(dú)立控制,即使接上上位機(jī),也無法進(jìn)行串口通信。
c.可見,只有寫入串口通信程序的單片機(jī)控制器才叫串口控制器,才能實(shí)現(xiàn)被上位機(jī)串口監(jiān)控。
一臺(tái)串口控制器主要由以下單元構(gòu)成:RS232串口、MCU(單片機(jī))、輸入輸出電路(光電隔離數(shù)字量I/O、模擬量模塊A/D、D/A、運(yùn)動(dòng)控制電路、可控硅斬波電路等)、電源電路等。