串口有哪些配置參賽
① 串口調試工具kermit安裝和配置
在windows系統中,使用USB轉UART串口工具調試時,需要安裝對應的串口驅動。如果直接在網上下載驅動,可能會安裝很多垃圾軟體,讓人防不勝防。本文介紹在Ubuntu 18.04系統中kermit的安裝和配置。
操作系統:Ubuntu 18.04
安裝命令: sudo apt-get install ckermit
kermit工具安裝完成後,使用 vi ~/.kermrc 配置串口屬性,配置如下:
在上述配置中有2點需要注意:
1、串口設備節點: set line /dev/ttyUSB0 ,根據實際枚舉的設備節點 /dev/ttyUSB* 進行修改。
2、串口波特率: set speed 115200 ,根據實際使用的串口波特率進行修改。
常用的串口調試工具還有很多,例:SSCOM、putty、Tera Term、SecureCRT、MobaXterm和minicom等。
註:RockPI 4A單板串口波特率是1.5M,kermit不支持該波特率。如果想使用kermit工具,可以在uboot和kernel的代碼里修改串口波特率(待後續驗證後,發下修改方式);Github里也有牛人修改了kermit源碼,用於支持串口1.5M的波特率。
打開工具: kermit -c
退出工具: ctrl+ ,然後輸出 q
② 串口通訊設備有哪些
主要包括路由器、交換機、modem等設備。無線通訊設備主要包括無線AP,無線網橋,無線網卡,無線避雷器,天線等設備。通訊也包括軍事通訊和民事通訊,中國三大通訊運營商為移動通訊,聯通通訊和電信通訊。
③ 串口波特率有哪些
以下是回答,希望能幫助你!
還請及時採納謝謝!
波特率計算在串列通信中,收發雙方對發送或接收的數據速率要有一定的約定,我們通過軟體對MCS—51串列口編程可約定四種工作方式。其中,方式0和方式2的波特率是固定的,而方式1和方式3的波特率是可變的,由定時器T1的溢出率決定。串列口的四種工作方式對應著三種波特率。由於輸人的移位時鍾的來源不同,所以,各種方式的波特率計算公式也不同。一、方式0的波特率方式0時,移位時鍾脈沖由56(即第6個狀態周期,第12個節拍)給出,即每個機器周期產生一個移位時鍾,發送或接收一位數據。所以,波特率為振盪頻率的十二分之一,並不受PCON寄存器中SMOD的影響,即:方式0的波特率=fosc/12三、方式l和方式3的波特率方式1和方式3的移位時鍾脈沖由定時器T1的溢出率決定,故波特宰由定時器T1的溢出率與SMOD值同時決定,即:方式1和方式3的波特率=2SMOD/32·T1溢出率其中,溢出率取決於計數速率和定時器的預置值。計數速率與TMOD寄存器中C/T的狀態有關。當C/T=0時,計數速率=fosc/2;當C/T=1時,計數速率取決於外部輸入時鍾頻率。當定時器Tl作波特率發生器使用時,通常選用可自動裝入初值模式(工作方式2),在工作方式2中,TLl作為計數用,而自動裝入的初值放在THl中,設計數初值為x,則每過「256一x」個機器周期,定時器T1就會產生一次溢出。為了避免因溢出而引起中斷,此時應禁止T1中斷。
④ 串口伺服器參數應該怎麼設置
串口伺服器 在工業領域應用越來越廣泛,在某些應用環境中需要對其參數進行設置,下面介紹串口伺服器參數設置的幾種方法。
一般串口服務的參數設置有網頁和AT指令兩種方法。
第一,網頁設置方法。 通過網頁來設置的方法是最常用的一種方法,在家庭路由器設置上也是用的網頁,所以大多數人都不會陌生。
打開電腦瀏覽器,在地址欄中輸入串口伺服器的ip地址,其ip地址一般在伺服器機身上帶有。打開登陸界面後,輸入登陸賬號和密碼進入界面後,即可修改參數。
網頁設置的優點是使用操作簡單,利用電腦瀏覽器操作即可完成,無須其它配套設備。但須要值得注意的是,串口伺服器的IP地址必須和本機處在同一個網段上。
第二,AT指令設置方法。 AT 指令是指,在命令模式下用戶通過 UART與模塊進行命令傳遞的指令集,上電啟動成功後,可以通過 UART對模塊進行設置。
以有人的單串口伺服器 USR-N510 為例,其模塊的UART口參數為:波特率 115200、無校驗、8 位數據位、1 位停止位。不同的模塊去對應相應的參數即可。最後用戶MCU可以隨時發送串口命令來配置參數。
不同廠家的串口伺服器不同,但其原理大同小異,以上就是兩種設置串口伺服器參數的方法。
以上講述了串口伺服器參數設置的方法,那麼串口伺服器參數設置的步驟是什麼呢?
在購買 串口伺服器 以後,想要實現聯網需求,首先要對串口伺服器進行設置。對於經驗尚淺的從業者來說,真的是很丈二和尚摸不著頭腦。等著技術支持遠程一步步操作是最容易的,缺點是下一次自己依然不會操作。與其直接要果實,不如要耕種的方法,這樣也可以迅速提高自己的專業水平,早日成為行業大牛。
以有人串口伺服器USR-TCP232-304為例,講述串口伺服器的設置流程。
首先將串口伺服器的網口連接到電腦,用485轉USB轉接線連接串口伺服器和電腦,並接通電源。
按照串口伺服器的電子說明書中的默認參數設置本地電腦的IP,如圖所示
再登陸串口伺服器背面的設置頁面地址192.168.0.7進行設置。
打開串口伺服器的設置軟體,搜索設備,搜索設備成功後,設置該串口伺服器的靜態IP地址、波特率,本地埠以及工作方式。如果將串口伺服器進行一對一傳輸,需要將這款串口伺服器設置為TCP Serever的工作模式,點擊「保存參數」(很多人忘了最簡單也是最重要的這步)。
將第二款串口伺服器換上,如上述方法設置第二款串口伺服器的參數。目標IP地址為需要連接的串口伺服器靜態IP,即作為Server的串口伺服器靜態IP地址。本地埠和串口波特率與Server串口伺服器保持一致。靜態IP地址為同IP端的不同IP地址,,點擊「保存參數」。
打開測試軟體,將兩個串口伺服器鏈接的COM埠對應起來(「我的電腦——屬性——設備管理器——埠」)。進行互發信息。
⑤ 串口USART工作需設置哪些參數
波特率,字長,停止位,奇偶校驗位
⑥ 串口通信協議有哪些
就是RS-232的串口通信協議。一個TX端,一個RX端,分別用於發送和接收數據。
具體如下:
串列通信協議分同步協議和非同步協議。
(1)非同步通信協議的實例——起止式非同步協議
圖3
特點與格式:
起止式非同步協議的特點是一個字元一個字元傳輸,並且傳送一個字元總是以起始位開始,以停止位結束,字元之間沒有固定的時間間隔要求。其格式如圖3所示。每一個字元的前面都有一位起始位(低電平,邏輯值0),字元本身有5~7位數據位組成,接著字元後面是一位校驗位(也可以沒有校驗位),最後是一位,或意味半,或二位停止位,停止位後面是不定長度的空閑位。停止位和空閑位都規定為高電平(邏輯值),這樣就保證起始位開始處一定有一個下跳沿。
從圖中可以看出,這種格式是靠起始位和停止位來實現字元的界定或同步的,故稱為起始式協議。傳送時,數據的低位在前,高位在後,圖4表示了傳送一個字元E的ASCAII碼的波形1010001。當把它的最低有效位寫到右邊時,就是E的ASCII碼1000101=45H。
圖4
起/止位的作用:起始位實際上是作為聯絡信號附加進來的,當它變為低電平時,告訴收方傳送開始。它的到來,表示下面接著是數據位來了,要准備接收。而停止位標志一個字元的結束,它的出現,表示一個字元傳送完畢。這樣就為通信雙方提供了何時開始收發,何時結束的標志。傳送開始前,發收雙方把所採用的起止式格式(包括字元的數據位長度,停止位位數,有無校驗位以及是奇校驗還是偶校驗等)和數據傳輸速率作統一規定。傳送開始後,接收設備不斷地檢測傳輸線,看是否有起始位到來。當收到一系列的「1」(停止位或空閑位)之後,檢測到一個下跳沿,說明起始位出現,起始位經確認後,就開始接收所規定的數據位和奇偶校驗位以及停止位。經過處理將停止位去掉,把數據位拼裝成一個並行位元組,並且經校驗後,無奇偶錯才算正確的接收一個字元。一個字元接收完畢,接收設備有繼續測試傳輸線,監視「0」電平的到來和下一個字元的開始,直到全部數據傳送完畢。
由上述工作過程可看到,非同步通信是按字元傳輸的,每傳輸一個字元,就用起始位來通知收方,以此來重新核對收發雙方同步。若接收設備和發送設備兩者的時鍾頻率略有偏差,這也不會因偏差的累積而導致錯位,加之字元之間的空閑位也為這種偏差提供一種緩沖,所以非同步串列通信的可靠性高。但由於要在每個字元的前後加上起始位和停止位這樣一些附加位,使得傳輸效率變低了,只有約80%。因此,起止協議一般用在數據速率較慢的場合(小於19.2kbit/s)。在高速傳送時,一般要採用同步協議。
(2)面向字元的同步協議
特點與格式:這種協議的典型代表是IBM公司的二進制同步通信協議(BSC)。它的特點是一次傳送由若干個字元組成的數據塊,而不是只傳送一個字元,並規定了10個字元作為這個數據塊的開頭與結束標志以及整個傳輸過程的控制信息,它們也叫做通信控制字。由於被傳送的數據塊是由字元組成,故被稱作面向字元的協議。
特定字元(控制字元)的定義:由上面的格式可以看出,數據塊的前後都加了幾個特定字元。SYN是同步字元(synchronous Character),每一幀開始處都有SYN,加一個SYN的稱單同步,加兩個SYN的稱雙同步設置同步字元是起聯絡作用,傳送數據時,接收端不斷檢測,一旦出現同步字元,就知道是一幀開始了。接著的SOH是序始字元(Start Of Header),它表示標題的開始。標題中包括院地址、目的地址和路由指示等信息。STX是文始字元(Start Of Text),它標志著傳送的正文(數據塊)開始。數據塊就是被傳送的正文內容,由多個字元組成。數據塊後面是組終字元ETB(End Of Transmission Block)或文終字元ETX(End Of Text),其中ETB用在正文很長、需要分成若干個分數據塊、分別在不同幀中發送的場合,這時在每個分數據塊後面用文終字元ETX。一幀的最後是校驗碼,它對從SOH開始到ETX(或ETB)欄位進行校驗,校驗方式可以是縱橫奇偶校驗或CRC。另外,在面向字元協議中還採用了一些其他通信控制字,它們的名稱如下表所示:
數據透明的實現:面向字元的同步協議,不象非同步起止協議那樣,需要在每個字元前後附加起始和停止位,因此,傳輸效率提高了。同時,由於採用了一些傳輸控制字,故增強了通信控制能力和校驗功能。但也存在一些問題,例如,如何區別數據字元代碼和特定字元代碼的問題,因為在數據塊中完全有可能出現與特定字元代碼相同的數據字元,這就會發生誤解。比如正文有個與文終字元ETX的代碼相同的數據字元,接收端就不會把它當作為普通數據處理,而誤認為是正文結束,因而產生差錯。因此,協議應具有將特定字元作為普通數據處理的能力,這種能力叫做「數據透明」。為此,協議中設置了轉移字元DLE(Data Link Escape)。當把一個特定字元看成數據時,在它前面要加一個DLE,這樣接收器收到一個DLE就可預知下一個字元是數據字元,而不會把它當作控制字元來處理了。DLE本身也是特定字元,當它出現在數據塊中時,也要在它前面加上另一個DLE。這種方法叫字元填充。字元填充實現起來相當麻煩,且依賴於字元的編碼。正是由於以上的缺點,故又產生了新的面向比特的同步協議。
(3)面向比特的同步協議
特點與格式:面向比特的協議中最具有代表性的是IBM的同步數據鏈路控制規程SDLC(Synchronous Data Link Control),國際標准化組織ISO(International Standard Organization)的高級數據鏈路控制規程HDLC(High Level Data link Control),美國國家標准協會(Americal National Standard Institute)的先進數據通信規程ADCCP(Advanced Data Communication Control Procere)。這些協議的特點是所傳輸的一幀數據可以是任意位,而且它是靠約定的位組合模式,而不是靠特定字元來標志幀的開始和結束,故稱「面向比特」的協議。這中協議的一般幀格式如圖5所示:
圖5
幀信息的分段:由圖5可見,SDLC/HDLC的一幀信息包括以下幾個場(Filed),所有場都是從有效位開始傳送。
(1)SDLC/HDLC標志字元:SDLC/HDLC協議規定,所有信息傳輸必須以一個標志字元開始,且以同一個字元結束。這個標志字元是 01111110,稱標志場(F)。從開始標志到結束標志之間構成一個完整的信息單位,稱為一幀(Frame)。所有的信息是以幀的形傳輸的,而標志字元提供了每一幀的邊界。接收端可以通過搜索「01111110」來探知幀的開頭和結束,以此建立幀同步。
(2)地址場和控制場:在標志場之後,可以有一個地址場A(Address)和一個控制場C(Control)。地址場用來規定與之通信的次站的地址。控制場可規定若干個命令。SDLC規定A場和C場的寬度為8位或16位。接收方必須檢查每個地址位元組的第一位,如果為「0」,則後面跟著另一個地址位元組;若為「1」,則該位元組就是最後一個地址位元組。同理,如果控制場第一個位元組的第一位為為「0」,則還有第二個控制場位元組,否則就只有一個位元組。
(3)信息場:跟在控制場之後的是信息場I(Information)。I場包含有要傳送的數據,並不是每一幀都必須有信息場。即數據場可以為0,當它為0時,則這一幀主要是控制命令。
(4)幀校驗信息:緊跟在信息場之後的是兩位元組的爭校驗,幀校驗場稱為FC(Frame Check)場或稱為幀校驗序列FCS(Frame check Squence)。SDLC/HDLC均採用16位循環冗餘校驗碼CRC(Cyclic Rendancy Code)。除了標志場和自動插入的「0」以外,所有的信息都參加CRC計算。
實際應用時的兩個技術問題:
(1)「0」位插入/刪除:如上所述,SDLC/HDLC協議規定以01111110為標志位元組,但在信息場中也完全有可能有同一種模式的字元,為了把它與標志區分開來,所以採取了「0」位插入和刪除技術。具體作法是發送端在發送所有信息(除標志位元組外)時,只要遇到連續5個「1」,就自動插入一個「0」,當接收端在接收數據時(除標志位元組)如果連續收到5個「1」,就自動將其後的一個「0」刪除是,以恢復信息的原有形式。這種「0」位的插入和刪除過程是由硬體自動完成的。
(2)SDLC/HDLC異常結束:若在發送過程中出現錯誤,則SDLC/HDLC協議常用異常結束(Abort)字元,或稱為失效序列使本幀作廢。在HDLC規程中,7個連續的「1」被作為失效字元,而在SDLC中失效字元是8個連續的「1」。當然在試銷序列中不使用「0」位插入/刪除技術。SDLC/HDLC協議規定,在一幀之內不允許出現數據間隔。在兩幀之間,發送器可以連續輸出標志字元序列,也可以輸出連續的高電平,它被稱為空閑(Idle)信號。
⑦ linux C 配置串口
配置串口需要包含頭文件
其中最核心的配置結構體為:
如何獲取該結構呢?我們操作串口跟操作文件一樣,也是調用 open() 函數來打開串口,
這樣我們就能夠得到一個文件描述符 fd ,然後就可以調用 tcgetattr() 函數來獲取上述配置結構體了。
Linux 串口默認的配置為:波特率 9600,數據位 8 位,無奇偶校驗,停止位 1 位,無 CTS/RTS 。
以下介紹一些常用的配置項:波特率、奇偶校驗、數據位、停止位、硬體控制流。
相關介面:
Linux 將串口的波特率分為了輸入波特率和輸出波特率,不過最常用的場景是將兩者設置成一樣。
cfgetispeed() 函數獲取輸入波特率, cfgetospeed() 函數獲取輸出波特率。 cfsetispeed() 函數設置輸入波特率, cfsetospeed() 函數用於設置輸出波特率,當然 cfsetspeed() 函數擴展為同時設置輸入和輸出波特率。
上述介面中的 speed_t 是一系列波特率的標志位,例如常用的 115200 波特率就為 B115200,參考下述選項:
設置奇偶校驗位可以通過修改 termios 結構體中的 c_cflag 成員來實現,若無校驗,則將 PARENB 位設為 0;若有校驗,則 PARENB 為 1。之後再根據 PARODD 來區分奇偶校驗, PARODD 為 1 表示奇校驗, PARODD 為 0 表示偶校驗。例如設置無奇偶校驗位:
設置數據位可以通過修改 termios 結構體中的 c_cflag 成員來實現,CS5、CS6、CS7 和 CS8 分別代表數據位 5、6、7 和 8。不過在設置數據位之前,需要先用 CSIZE 來做屏蔽欄位,清楚這幾個標志位,例如設置數據位為 8 位:
設置停止位可以通過修改 termios 結構體中的 c_cflag 成員來實現, CSTOPB 位為 1 表示 2 位停止位, CSTOPB 位為 0 標志 1 位停止位。例如設置停止位為 1 位:
設置硬體控制流可以通過修改 termios 結構體中的 c_cflag 成員來實現, CRTSCTS 為 1 表示使用硬體控制流,為 0 表示不使用硬體控制流。例如使能硬體控制流:
當然,最後還需要用 tcflush() 拋棄存儲在 fd 里的未接收的數據。
再利用介面 tcsetattr() 函數將配置信息寫入文件描述符 fd :
這樣整個串口最常用的用法就配置完成了。
具體的配置使用可以參考我的項目 HCI-Middleware 里的 hci_transport_uart_linux.c 文件。
參考:
⑧ 串口波特率有哪些
1.RS-232-C標准規定的數據傳輸速率為50、75、100、150、300、600、1200、2400、4800、9600、19200、38400波特。自定義隨便只要可以達到。
2.UART串口,作為單片機最常用的通訊介面已經深入每一個嵌入式工程師的腦海。UART串口有著簡單、實用的特性,嵌入式工程師常常用來將其作為調試系統的重要工具。UART串口的配置參數有很多,但是最常用,且需要修改的參數只有通訊波特速率這一個。
拓展資料:
波特率:
1.單片機或計算機在串口通信時的速率。指的是信號被調制以後在單位時間內的變化,即單位時間內載波參數變化的次數,如每秒鍾傳送240個字元,而每個字元格式包含10位(1個起始位,1個停止位,8個數據位),這時的波特率為240Bd,比特率為10位*240個/秒=2400bps。
2.每秒鍾傳送240個二進制位,這時的波特率為240Bd,比特率也是240bps。(但是一般調制速率大於波特率,比如曼徹斯特編碼)。波特率,可以通俗的理解為一個設備在一秒鍾內發送(或接收)了多少碼元的數據。
3.它是對符號傳輸速率的一種度量,1波特即指每秒傳輸1個碼元符號(通過不同的調制方式,可以在一個碼元符號上負載多個bit位信息),1比特每秒是指每秒傳輸1比特(bit)。 單位「波特」本身就已經是代表每秒的調制數,以「波特每秒」(Baud per second)為單位是一種常見的錯誤。