在嵌入式開發中一些裝置如wifi、藍芽......都會通過串列埠進行主機與從機間通訊,串列埠一般以每次1
bit位進行傳輸,效率相對慢。
在linux系統下串列埠的程式設計有如下幾個步驟,最主要的是串列埠初始化!
1.開啟串列埠 open(「/dev/***x」, o_noctty|o_rdwr)
2.初始化串列埠 見下面例項。
3.對串列埠讀寫操作
4.關閉串列埠
#include /**
*fd: 串列埠描述符
*nbits: 資料位
*nvent: 奇偶校驗位
*nspeed: 波特率
*nstop: 停止位
**/bool set_opt(int fd, int nbits, char nevent, int nspeed, int nstop)
//得到此描述符之前的屬性
if (tcgetattr(fd, &oldtio) != 0)
//clocal:忽略數據機狀態行
//cread:開啟接受裝置
newtio.c_cflag |= clocal | cread;
//清空字元長度位
newtio.c_cflag &= ~csize;
//設定資料位
switch(nbits)
//設定奇偶校驗位
switch(nevent)
//設定波特率
switch(nspeed)
//設定停止位
if (1 == nstop) else
if (2 == nstop)
//min==0, time==0 如果有資料可用,則read最多返回所要求的位元組數,
//如果無資料可用,則read立即返回0
newtio.c_cc[vtime] = 0;
newtio.c_cc[vmin] = 0;
//沖洗輸入緩衝區
tcflush(fd, tciflush);
//為終端裝置設定屬性
if (tcsetattr(fd, tcsanow, &newtio) != 0)
return
true;
}
MFC 串列埠程式設計例項
vc串列埠程式設計從實現方法上一般分為兩種,一種使用mscomm控制項,這種方法比較簡單,軟體的移植性較低,在這裡介紹一種串列埠封裝類的使用方法。先看 commutils.cpp include stdafx.h include commutils.h include stdio.h const i...
linux串列埠程式設計
include 標準輸入輸出定義 include 標準函式庫定義 include unix標準函式定義 include include include 檔案控制定義 include ppsix終端控制定義 include 錯誤號定義 brief 設定串列埠通訊速率 param fd 型別 int 開...
Linux串列埠程式設計
串列埠概述 常見資料通訊方式 並行通訊,序列通訊 uart的主要操作 資料傳送及接受 產生中斷 產生波特率 loopback模式 紅外模式 自動流控模式 串列埠引數的配置主要包括 波特率 資料位 停止位 流控協議。linux中的串列埠裝置檔案放於 de 目錄下,串列埠一,串列埠二分別為 dev tt...