freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

delphi串口通信編程基礎(chǔ)(編輯修改稿)

2025-01-15 18:48 本頁面
 

【文章內(nèi)容簡介】 了一個(gè)停止位 幀錯(cuò) 一般指位數(shù)不匹配。 這個(gè)類型的錯(cuò)誤,通常是在沒有接收到要求的停止位時(shí)出現(xiàn)。 第2章 串行通信程序及組件建立 串行通信的 WindowsAPI 簡述 通信測試 自動(dòng)與事件 串行通信的 WindowsAPI 簡述 ?串行通信相關(guān)函數(shù) ?串口通信流程 Delphi的 Win32 API均聲明進(jìn)去,因此在 Delphi里面使用 API時(shí) 只要在 uses 區(qū)段中加入 Windows,使其引用該 單元文件即可 串行通信相關(guān)函數(shù) ? CreateFile:建立文件,在此用打開通信端口 ? CloseHandle:關(guān)閉由 CreateFile建立的文件,在此用于關(guān)閉通信端口 ? GetCommState:取得計(jì)算機(jī)串口的設(shè)置參數(shù) ? SetCommState:設(shè)置計(jì)算機(jī)串口的參數(shù) ? WriteFile:將數(shù)據(jù)寫入文件,在此用來將數(shù)據(jù)由串口送出 ? ReadFile:由文件中讀取數(shù)據(jù),在此用來取得送到串口的數(shù)據(jù) ? ClearCommError:清除串行端口的錯(cuò)誤,并取得信息 串行通信相關(guān)函數(shù) ? PurgeComm:清除串口上的緩沖區(qū) ? EscapeCommFunction:控制串口的硬件狀態(tài) ? SetCommMask:設(shè)置事件的掩碼,用以觸發(fā)事件 ? WaitCommEvent:等待設(shè)置事件的發(fā)生 ? GetCommModemStatus:取得串口上的硬件線路狀態(tài) HANDLE CreateFile( LPCTSTR lpFileName, //文件名指針 DWORD dwDesiredAccess, //存?。ㄗx /寫)模式 DWORD dwShareMode,//共享模式 LPSECURITY_ATTRIBUTES lpSecurityAttribute, //security attribute結(jié)構(gòu)指針 DWORD dwCreationDistribution, //打開文件的方式 DWORD dwAttrsAndFlags, //文件屬性 HANDLE hTemplateFile//帶屬性復(fù)制的文件句柄 ); 有關(guān)參數(shù)說明 ? lpFileName :欲打開的文件名稱。以串口通信來說,就是 COM COM2等 ? dwDesiredAccess :讀寫模式設(shè)備。由于將會(huì)對(duì)串口進(jìn)行讀寫操作,因此在此給定 GENERIC_READ和 GENERIC_WRITE常數(shù) ? dwShareMode :是否共享串行端口。一般不共享,設(shè)為 0 ? lpSecurityAttribute: 傳入一個(gè) Security Attribute結(jié)構(gòu),指明其返回的 Handle是否可以被子程序所繼承。在此設(shè)置為 nil,表示不可繼承 ? dwCreationDistribution :指定如何打開文件。在打開設(shè)備時(shí),此參數(shù)設(shè)定為 OPEN_EXISTING ? dwAttrsAndFlags :文件屬性及相關(guān)標(biāo)志。此項(xiàng)設(shè)置為 0 ? hTemplateFile :此項(xiàng)設(shè)置為 0 BOOL CloseHandle(HANDLE hObject)。 hObject:要關(guān)閉對(duì)象的句柄 當(dāng)函數(shù)返回 True時(shí),表示關(guān)閉動(dòng)作完成。 Var Fhandle:THandle。 ComName:array[0..4] of char。 // ComName:string。 Begin ComName:=‘ COM1’ 。 // PCHAR(ComName) FHandle := CreateFile(ComName, GENERIC_READ or GENERIC_WRITE, 0, nil, OPEN_EXISTING, FILE_ATTRIBUTE_NORMAL, 0)。 if FHandleINVALID_HANDLE_VALUE then showmessage(‘串口打開成功!’ ) Else showmessage(‘串口打開失?。 ?); CloseHandle(FHandle)。 End。 GetCommState BOOL GetCommState( HANDLE hFile, // 通信設(shè)備的句柄 LPDCB lpDCB // 設(shè)備控制塊結(jié)構(gòu)的地址 )。 _DCB = packed record DCBlength: DWORD。 //DCB結(jié)構(gòu)的長度 BaudRate: DWORD。 //當(dāng)前波特率 Flags: Longint。 // wReserved: Word。 //保留,未使用 XonLim: Word。 //傳送 XON閾值 XoffLim: Word。 //傳送 XOFF閾值 ByteSize: Byte。 //每字節(jié)位數(shù)( 48) Parity: Byte。 //04: no,odd,even,mark,space StopBits: Byte。 //0,1,2:1,2 XonChar: CHAR。 //設(shè)置 Tx和 Rx的 XON字符 XoffChar: CHAR。 //設(shè)置 Tx和 Rx的 XOFF字符 ErrorChar: CHAR。 //有錯(cuò)誤時(shí)的替換字符 EofChar: CHAR。 //表示輸入結(jié)束的字符 EvtChar: CHAR。 //接收事件字符 wReserved1: Word。 //保留,未使用 end。 TDCB = _DCB。 DCB = _DCB。 PDCB = ^TDCB。 SetCommState BOOL SetCommState( HANDLE hFile, // 通信設(shè)備的句柄 LPDCB lpDCB // 設(shè)備控制塊結(jié)構(gòu)的地址 )。 Var FDCB: TDCB。 GetCommState(FHandle, FDCB)。 := 9600。 := EVENPARITY。 := ONESTOPBIT。 := 8。 SetCommState(FCOMHandle, FDCB)。 WriteFile BOOL WriteFile( HANDLE hFile, // 要寫入文件的句柄 LPCVOID lpBuffer,// 寫入文件中的數(shù)據(jù)的指針 DWORD nNumberOfBytesToWrite,// 寫入的字節(jié)數(shù) LPDWORD lpNumberOfBytesWritten, // 寫入總字節(jié)數(shù)的指針 LPOVERLAPPED lpOverlapped // overlapped I/O結(jié)構(gòu)的指針 )。 // lpOverlapped 通常用來作后臺(tái)工作時(shí)同步檢查之用,在串行通信中若不同時(shí)使用串行端口,則可不使用,設(shè)為nil var i:byte。 strlen:DWord。 xx:byte。 dat : array[0..99]of ch
點(diǎn)擊復(fù)制文檔內(nèi)容
公司管理相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖片鄂ICP備17016276號(hào)-1