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

正文內(nèi)容

api串口通信實例-預(yù)覽頁

2025-07-14 06:55 上一頁面

下一頁面
 

【正文】 WORD。 =0。 =2000。實例3:/****************** 0, //通訊設(shè)備必須以獨占方式打開 0)。}int rate= rate_arg。// set DCB to configure the serial port = ONESTOPBIT。 = 0。/* misc parameters */ = 1。 = 0。 = 0。 = 0。 = 0x19。dcb))} =ReadInterval。 =ReadTotalMultiplier。 =WriteTotalMultiplier。 return false。}if(open)printf(open port success)。 //當(dāng)有字符在inbuf中時產(chǎn)生這個事件//清除串口的所有操作PurgeComm(hComm,PURGE_RXCLEAR|PURGE_TXCLEAR|PURGE_RXABORT|PURGE_TXABORT)。Win32API函數(shù)ReadFile和WriteFile支持對串行口的讀寫操作。參數(shù)說明:hFile:串口句柄 lpErrors:返回錯誤數(shù)值,錯誤常數(shù)如下: 1CE_BREAK:檢測到中斷信號。 4CE_MODE:設(shè)置模式錯誤,或是hFile值錯誤。 8CE_TXFULL:發(fā)送緩沖區(qū)已滿。該結(jié)構(gòu)中對我們很重要的只有上面兩個參數(shù),其他的我們可以不用管。ClearCommError(hComm,amp。函數(shù)ReadFile和WriteFile的行為還受是否使用異步I/O(Overlapped)及通信超時設(shè)置的影響。 lpOverlapped:重疊I/O結(jié)構(gòu)的指針 ReadFile()用途:讀串口數(shù)據(jù) 原型:BOOL ReadFile(HANDLE hFile,LPVOID lpBuffer,DWORD nNumberOfBytesToRead,lpNumberOfBytesRead,lpOverlapped)。而異步方式函數(shù)在啟動接收或發(fā)送過程后立即返回,程序繼續(xù)向下執(zhí)行,程序在調(diào)用ReadFile和WriteFile時必須提供一個Overlapped數(shù)據(jù)結(jié)構(gòu)指針,該結(jié)構(gòu)中包含一個手動事件同步對象,其后的程序必須借助于該事件同步對象,完成數(shù)據(jù)的接收和發(fā)送過程。如果不再使用某一端口,須將該端口關(guān)閉,以便其他程序可以使用該端口。CloseHandle()用途:關(guān)閉串口 原型:BOOL CloseHandle(HANDLE hObjedt)說明: hObjedt:串口句柄 操作說明:成功關(guān)閉串口時返回true,否則返回false當(dāng)ReadFile和WriteFile返回FALSE時,不一定就是操作失敗,線程應(yīng)該調(diào)用GetLastError函數(shù)分析返回的結(jié)果。另一種辦法是調(diào)用GetOverlappedResult函數(shù)等待,如果指定該函數(shù)的bWait參數(shù)為TRUE,那么該函數(shù)將等待OVERLAPPED結(jié)構(gòu)的hEvent事件。WaitForSingleObject的dwMilliseconds參數(shù)會規(guī)定一個等待超時,該函數(shù)實際等待的時間是兩個超時的最小值。DWORD InternalHigh。} OVERLAPPED。參數(shù)說明: hFile:串口句柄 lpEvtMask:函數(shù)執(zhí)行完后如果檢測到串口通信事件的話就將其寫入該參數(shù)中。這兩種方法的區(qū)別在于收串口數(shù)據(jù)時,前一種方法是主動的周期性的查詢串口中當(dāng)前有沒有數(shù)據(jù);后一種方法是事先設(shè)置好需要監(jiān)視的串口通信事件,然后依靠單獨開設(shè)的輔助線程進(jìn)行監(jiān)視該事件是否已發(fā)生,如果沒有發(fā)生的話該線程就一直不停的等待直到該事件發(fā)生后,將該串口事件以消息的方式通知主窗體,然后主窗體收到該消息后依據(jù)不同的事件性質(zhì)進(jìn)行處理。 ******************************************//* lishaoan 20090710 *****************************************************//* ******************************************************/COMSTAT stat。bool openport(char *portname)//打開一個串口{hComm = CreateFile(portname, OPEN_EXISTING, elsereturn true。dcb,0,sizeof(dcb))。{/* */ = sizeof(dcb)。 = ONESTOPBIT。 = 0。 = 0。 = 0。 // set DCB elsebool setuptimeout(DWORD ReadInterval,DWORD ReadTotalMultiplier,DWORD ReadTotalconstant,DWORD WriteTotalMultiplier,DWORD WriteTotalconstant){ return false。 return true。BOOL bResult = TRUE。for (。dwError, amp。 if ( == 0) if (bRead) bResult = ReadFile(hComm,RXBuff, // RX Buffer Pointer amp。 // pointer to the m_ov structure break。 } } { { // Handle to COMM port amp。 // Wait flagWriteChar(BYTE* m_szWriteBuffer,DWORD m_nToSend){BOOL bWrite = TRUE。ResetEvent(m_hWriteEvent)。 // Length of message to send amp。bWrite = FALSE。bResult = GetOverlappedResult(hComm,m_ov, // Overlapped structure// deal with the error codeif (!bResult){printf(GetOverlappedResults() in WriteFile())。}return true。if(setupdcb(9600))printf(setupDCB success\n)。printf(received data:\n)。第五節(jié) 多線程串口通信及其它系統(tǒng)創(chuàng)建好進(jìn)程后,實際上就啟動執(zhí)行了該進(jìn)程的主執(zhí)行線程,主執(zhí)行線程以函數(shù)地址形式,比如說main或WinMain函數(shù),將程序的啟動點提供給Windows系統(tǒng)。一個進(jìn)程中的所有線程都在該進(jìn)程的虛擬地址空間中,共同使用這些虛擬地址空間、全局變量和系統(tǒng)資源,所以線程間的通訊非常方便,多線程技術(shù)的應(yīng)用也較為廣泛。這一點在多線程編程時應(yīng)該注意。Win32提供了一系列的API函數(shù)來完成線程的創(chuàng)建、掛起、恢復(fù)、終結(jié)以及通信等工作。線程創(chuàng)建完成之后,如果不需要使用這個句柄變量,應(yīng)當(dāng)將其關(guān)閉,以釋放系統(tǒng)資源。 LPTHREAD_START_ROUTINE lpStartAddress,如果該參數(shù)為0,線程在被創(chuàng)建后就會立即開始執(zhí)行;如果該參數(shù)為CREATE_SUSPENDED,則系統(tǒng)產(chǎn)生線程后,該線程處于掛起狀態(tài),并不馬上執(zhí)行,直至函數(shù)ResumeThread被調(diào)用; lpThreadId:該參數(shù)返回所創(chuàng)建線程的ID; 如果創(chuàng)建成功則返回線程的句柄,否則返回NULL。DWORD SuspendThread(HANDLE hThread)。該函數(shù)用于結(jié)束線程的掛起狀態(tài),執(zhí)行線程。其中參數(shù)dwExitCode用來設(shè)置線程的退出碼。各參數(shù)含義如下:hThread:將被終結(jié)的線程的句柄; dwExitCode:用于指定線程的退出碼。BOOL PostThreadMessage(DWORD idThread, UINT Msg, WPARAM wParam, LPARAM lParam)。DWORD WaitForSingleObject(HANDLE hHandle,DWORD dwMilliseconds)。若為0,則該函數(shù)立即返回;若為INFINITE,則線程一直被掛起,直到hHandle所指向的對象變?yōu)橛行盘枲顟B(tài)時為止。這個值必須在1與MAXIMUM_WAIT_OBJECTS(在Windows頭文件中定義為64之間.  phObjects參數(shù) 是指向內(nèi)核對象句柄的數(shù)組的指針。  fWaitAll參數(shù) 告訴該函數(shù),你想要讓它使用何種方式。同樣,通常為該參數(shù)傳遞INFINITE,但是在編寫代碼時應(yīng)該小心,以避免出現(xiàn)死鎖情況。如果為fWaitAll傳遞FALSE,那么一旦任何一個對象變?yōu)橐淹ㄖ獱顟B(tài),該函數(shù)便返回。產(chǎn)生的數(shù)字是作為第二個參數(shù)傳遞給WaitForMultipleObjects的句柄數(shù)組中的索引。dwFlags: FORMAT_MESSAGE_ALLOCATE_BUFFER //此函數(shù)會分配內(nèi)存以包含描述字串。 //在系統(tǒng)的id映射表中尋找描述字串 FORMAT_MESSAGE_FROM_STRING如果指定FORMAT_MESSAGE_FROM_STRING,將被忽略。Arguments:通常不使用。DWORD dwMask,dwTrans,dwError=0,err。if(!WaitCommEvent(hComm,amp。dwTrans,true)。break。break。}PostMessage(Parent,WM_COMM_ERR,(WPARAM)0,(LPARAM)err)。case ...://其他用SetCommMask()函數(shù)設(shè)置的被監(jiān)視的串口通信事件。DWORD dwErrors。dwErrors, amp。fIOE = dwErrors amp。fPTO = dwErrors amp。fBREAK = dwErrors amp。fRXOVER = dwErrors amp。fOVERRUN = dwErrors amp。// COMSTAT structure contains information regarding// munications status.if ()// Tx waiting for CTS signalif ()// Tx waiting for DSR signalif ()// Tx waiting for RLSD signalif ()// Tx waiting, XOFF char rec39。memset函數(shù)詳細(xì)說明:void *memset(void *s,int c,size_t n)總的作用:將已開辟內(nèi)存空間 s的首 n個字節(jié)的值設(shè)為值 c?! ?shù):  lpEventAttributes:  [輸入]一個指向SECURITY_ATTRIBUTES結(jié)構(gòu)的指針,確定返回的句柄是否可被子進(jìn)程繼承。  bManualReset:  [輸入]指定將事件對象創(chuàng)建成手動復(fù)原還是自動復(fù)原。如果為TRUE,初始狀態(tài)為有信號狀態(tài);否則為無信號狀態(tài)?! ∪绻鹟pName指定的名字,與一個存在的命名的事件對象的名稱相同,函數(shù)將請求EVENT_ALL_ACCESS來訪問存在的對象?! ∪绻鹟pName的和一個存在的信號、互斥、等待計時器、作業(yè)或者是文件映射對象名稱相同,函數(shù)將會失敗,在GetLastError函數(shù)中將返回ERROR_INVALID_HANDLE。詳細(xì)內(nèi)容可參考Kernel Object Name Spaces?! 》祷刂担骸 ∪绻瘮?shù)調(diào)用成功,函數(shù)返回事件對象的句柄?! ≡谡{(diào)用的過程中,所有線程都可以在一個等待函數(shù)中指定事件對象句柄?! 〕跏紶顟B(tài)在bInitialState參數(shù)中進(jìn)行設(shè)置?! ‘?dāng)事件的對象被置為有信號狀態(tài)時,任意數(shù)量的等待中線程,以及隨后開始等待的線程均會被釋放?! 《鄠€進(jìn)程可持有同一個事件對象的多個句柄,可以通過使用此對象來實現(xiàn)進(jìn)程間的同步。一個進(jìn)程可以在DuplicateHandle函數(shù)中指定事件對象句柄,從而獲得一個復(fù)制的句柄,此句柄可以被其它進(jìn)程使用。當(dāng)進(jìn)程停止時,系統(tǒng)將自動關(guān)閉句
點擊復(fù)制文檔內(nèi)容
物理相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1