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

正文內(nèi)容

vc[mfc]編寫串口調(diào)試助手-預(yù)覽頁

2025-07-20 04:50 上一頁面

下一頁面
 

【正文】 NULL, //Long,未用;設(shè)為零 NULL, //Long,用于裝載值的類型代碼的變量 (LPBYTE)data, //Byte,用于裝載值數(shù)據(jù)的一個(gè)緩沖區(qū) amp。 //發(fā)送消息,WM_USER+1為自定義消息,即找到串口的,并將串口號COMx通過WPARAM參數(shù)傳送給主對話框窗口 //::AfxGetMainWnd()m_hWnd,獲得主對話框句柄 //(WPARAM)(LPCTSTR)data,類型轉(zhuǎn)換 ::SendMessage(::AfxGetMainWnd()m_hWnd,WM_FOUNDCOMM,(WPARAM)(LPCTSTR)data,0)。 ComIsOK = false。 //設(shè)置事件掩碼,暫時(shí)沒用上 SetupComm(hCom,1024,1024)。 = 0。TimeOuts) == false) { CloseHandle(hCom)。 GetCommState(hCom,amp。 //波特率為9600 =nData。 //1位停止位 =nCal。 PurgeComm(hCom,PURGE_TXCLEAR|PURGE_RXCLEAR)。 return。 ComIsOK = false。 while(ComIsOK) { DWORD dwBytesRead = 100。 dwBytesRead = min(dwBytesRead,(DWORD))。 //發(fā)送消息,已讀到 } return 0。 Data_Length = ()。 for(int i=0。 //去掉最后一個(gè)空格 else sResult = sResult + sTemp+ 。}//===============函數(shù)結(jié)束============================//=================16進(jìn)制轉(zhuǎn)字符串======================//16進(jìn)制轉(zhuǎn)字符串,輸入16進(jìn)制的字符串,輸出轉(zhuǎn)換為16進(jìn)制碼//傳入?yún)?shù)str為字符串,判斷輸入是否按照16進(jìn)制格式輸入int ConvertHexC2String(CString str, CByteArray amp。 char cTemp。 //預(yù)先設(shè)置數(shù)組長度,不設(shè)置時(shí),允許有錯(cuò) char *ppchar = new char[str_Length]。 ) { cTemp = ppchar[i]。 i++。 lstr = ppchar[i]。 break。 break。 //進(jìn)入下一次循環(huán) iLength++。}//===============函數(shù)結(jié)束===========================char ConvertHexChar(char ch){ //將一個(gè)字符轉(zhuǎn)換為相應(yīng)的十六進(jìn)制 if ((ch = 39。 (ch = 39。 else if ((ch = 39。 (ch = 39。 + 10。amp。a39。 CString sTemp。 char *pchar = new char[Data_Length]。 i++) { (%02X,pchar[i])。}//===============函數(shù)結(jié)束=============================:ifndef m_H define m_Hdefine WM_FOUNDCOMM WM_USER + 1 //自定義消息WM_FOUNDCOMM,收到該消息表示串口已經(jīng)找到define WM_READCOMM WM_USER + 2 //自定義消息WM_READCOMM,收到該消息緩沖區(qū)有數(shù)據(jù),可以讀取extern void FindComm()。 //申明全局線程處理函數(shù)extern CString DisplayCString2Hex(CString Data, bool Blank_allow)。extern bool ComIsOK。 void ShowStatus()。 DWORD ReadComm()。變量初始化如/////////////////////////////////////////////////////////////////////////////// CCommassistDlg dialogCCommassistDlg::CCommassistDlg(CWnd* pParent /*=NULL*/) : CDialog(CCommassistDlg::IDD, pParent){ //{{AFX_DATA_INIT(CCommassistDlg) m_strTimer = _T()。 m_check_hexrx = FALSE。 m_strFilePath = 請選擇要發(fā)送的文件。 strIn = 。 //調(diào)用自動(dòng)找串口函數(shù) (0)。 //設(shè)置停止位下拉框默認(rèn)值為1 (0)。 //設(shè)置發(fā)送間隔按鈕不可用 GetDlgItem(IDC_BTN_SELCTFILE)EnableWindow(false)。 //獲取焦點(diǎn) SetFocus()。 // return TRUE unless you set the focus to a control用ClassWizard添加WindowProc函數(shù)來處理自定義消息函數(shù)內(nèi)容如下://=====================消息處理函數(shù)===========================//功能:處理自定義消息=========================================LRESULT CCommassistDlg::WindowProc(UINT message, WPARAM wParam, LPARAM lParam) { // TODO: Add your specialized code here and/or call the base class switch(message) { case WM_FOUNDCOMM : //已找到串口,串口號以字符串形式由wParam傳遞 ((LPCTSTR)wParam)。 } return CDialog::WindowProc(message, wParam, lParam)。 switch(nTemp) { case 0: nBaud = CBR_110。 case 2: nBaud = CBR_600。 case 4: nBaud = CBR_2400。 case 6: nBaud = CBR_9600。 case 8: nBaud = CBR_19200。 case 10: nBaud = CBR_56000。 case 12: nBaud = CBR_115200。 case 14: nBaud = CBR_256000。 break。 break。 switch(nTemp) { case 0: nStop = ONESTOPBIT。 case 2: nStop = TWOSTOPBITS。 break。 break。 break。 ComIsOK = FALSE。 //調(diào)用打開串口函數(shù)OpenComm() if(ComIsOK) pReceiveThread=AfxBeginThread(ThreadFunc,this,THREAD_PRIORITY_LOWEST)。 //按鈕顯示狀態(tài)改變 (RGB(0,155,0))。 //設(shè)置波特率下拉框不可用 (false)。 //設(shè)置手動(dòng)發(fā)送按鈕不可用 GetDlgItem(IDC_BTN_AUTOSEND) EnableWindow(true)。 //設(shè)置發(fā)送文件按鈕可用 } return。 (打開串口)。 //設(shè)置串口號下拉框可用 (true)。 //設(shè)置校驗(yàn)位下拉框可用 GetDlgItem(IDC_BTN_HANDSEND) EnableWindow(false)。 //設(shè)置選擇文件按鈕不可用 GetDlgItem(IDC_BTN_SENDFILE) EnableWindow(false)。 memset(amp。 DWORD dwBytesRead=1024。m_osRead)。 } return 0。 //接收到字節(jié)數(shù)統(tǒng)計(jì)// GetDlgItemText(IDC_EDIT_RX,strIn)。 return 1。}雙擊“手動(dòng)發(fā)送”按鈕,編輯代碼如下:UINT CCommassistDlg::OnBtnHandsend() { // TODO: Add your control notification handler code here if(ComIsOK == FALSE) { MessageBox(請先打開串口,提示,MB_ICONINFORMATION)。 CString str,sTemp。m_osWrite,0,sizeof(OVERLAPPED))。// dwBytesWritten = OnCheckHextx()。 CByteArray hexdata。 for(i=0。 } // SetDlgItemText(IDC_EDIT_TX,strTemp)。 sTemp = DisplayHex2CString(str)。 if(dwBytesWritten==0) { MessageBox(請?jiān)诎l(fā)送區(qū)內(nèi)輸入要發(fā)送的內(nèi)容,提示,MB_ICONINFORMATION)。 ClearCommError(hCom,amp。dwBytesWritten,amp。 } return 0。}編輯ShowStatus函數(shù),代碼如下:void CCommassistDlg::ShowStatus(){ //狀態(tài)欄顯示狀態(tài) CString strTXt。 CString strBaud,strStop,strData,strCal。 } else num=未打開串口。 ((),strStop)。 UpdateData(FALSE)。 m_intTxCnt = 0。 SetDlgItemText(IDC_EDIT_TX,)。}雙擊“自動(dòng)發(fā)送”按鈕,編輯代碼如下:void CCommassistDlg::OnBtnAutosend() { // TODO: Add your control notification handler code here UpdateData(TRUE)。 } else { if (m_bAutoSend) { SetTimer(1, atoi((())), NULL)。 GetDlgItem(IDC_BTN_CLRRX) EnableWindow(false)。 } else { KillTimer(1)。 GetDlgItem(IDC_BTN_CLRRX) EnableWindow(true)。 } }}雙擊“十六進(jìn)制顯示”復(fù)選框,編輯代碼如下:void CCommassistDlg::OnCheckHexrx() { // TODO: Add your control notification handler code here UpdateData(TRUE)。 GetDlgItem(IDC_EDIT_RX) SetWindowText(hexIn)。 CString hexOut。 strOut = str。 ConvertHexC2String(strOut,hexdata)。i++) { (%c, hexdata[i])。 //將strOut內(nèi)容放入IDC_EDIT_TX框內(nèi),即為不轉(zhuǎn)換 UpdateData()。 CFileDialog FileDlg(TRUE, NULL, NULL, OFN_HIDEREADONLY | OFN_OVERWRITEPROMPT, 文本文件(*.txt)|*.txt||)。 //打開這個(gè)文件 ((()), ())。 //文件內(nèi)容加入發(fā)送框變量內(nèi) UpdateData(false)。 CString sTemp。state)。 //調(diào)用發(fā)送函數(shù) GetDlgItem(IDC_EDIT_FILEPATH)SetDlgItemText(IDC_EDIT_FILEPATH,)。 // TODO: Change any attributes of the DC here if(nCtlColor==CTLCOLOR_DLG) //所有對話框 { HBRUSH brush=CreateSolidBrush(RGB(220,250,250))。//設(shè)置文本背景色 //pDCSetTextColor(RGB(55,55,66))。// 設(shè)置字體顏色為紅色 } break。}至此,大功告成。用一些事情,總會看清一些人。4. 歲月是無情的,假如你丟給它的是一片空白,它還給
點(diǎn)擊復(fù)制文檔內(nèi)容
法律信息相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1