亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? comm2410dlg.cpp

?? wince下用evc寫的一個串口通訊的程序
?? CPP
?? 第 1 頁 / 共 2 頁
字號:
// Comm2410Dlg.cpp : implementation file
//

#include "stdafx.h"
#include "Comm2410.h"
#include "Comm2410Dlg.h"

#ifdef _DEBUG
#define new DEBUG_NEW
#undef THIS_FILE
static char THIS_FILE[] = __FILE__;
#endif

DWORD BaudRate[]={CBR_300,CBR_600,CBR_1200,CBR_2400,CBR_4800,CBR_9600,CBR_19200,CBR_38400,CBR_57600,CBR_115200};
DWORD Parity[]={NOPARITY,ODDPARITY,EVENPARITY,MARKPARITY,SPACEPARITY};
DWORD Data[]={5,6,7,8};
DWORD Stop[]={ONESTOPBIT,ONE5STOPBITS,TWOSTOPBITS};

 static long  	receivebyte;
 static long    sendbyte;
 static BOOL    StopSend=TRUE;
 int iErrCount = 0;
 /////////////////////////////////////////////////////////////////////////////
 // CComm2410Dlg dialog

 int SvrConvertUni2Mbcs(CString& strUni,BYTE*& pBuff)
 {
	 //_CrtSetDbgFlag(ON);
#ifndef UNICODE
	 long iLen = strUni.GetLength();
	 pBuff = new BYTE[iLen];
	 memcpy(pBuff,strUni.GetBuffer(iLen),iLen);
	 strUni.ReleaseBuffer();
	 return iLen;
#else
	 ASSERT(NULL == pBuff);
	 long iLen = strUni.GetLength() * sizeof(TCHAR);//unicode版本

	 
	 int iRequireByte = WideCharToMultiByte(CP_ACP,
		 0,
		 (LPCWSTR)strUni.GetBuffer(iLen),
		 iLen/sizeof(TCHAR),
		 NULL,
		 0,
		 NULL,
		 NULL);
	 
	 pBuff = new BYTE[iRequireByte];
	 
	 WideCharToMultiByte(CP_ACP,
		 0,
		 (LPCWSTR)strUni.GetBuffer(iLen),
		 iLen/sizeof(TCHAR),
		 (char*)pBuff,
		 iRequireByte,
		 NULL,
		 NULL);
	 strUni.ReleaseBuffer();
	 //pBuff沒有刪除,調用者負責刪除
	 return iRequireByte;
#endif
 }

 CComm2410Dlg::CComm2410Dlg(CWnd* pParent /*=NULL*/)
	 : CDialog(CComm2410Dlg::IDD, pParent)
 {
	 //{{AFX_DATA_INIT(CComm2410Dlg)
	 m_iCom1 = _T("");
	 m_iCom2 = _T("");
	 m_iBaud = -1;
	 m_iData = -1;
	 m_iParity = -1;
	 m_iPort = -1;
	 m_iStop = -1;
	 m_senddata = _T("^#$@#^*(g)&^^**&^%^$%^&**(())*9*&^&%@&*()&^()*^(_(_)*()&&^$%#@$#!@@#*(&%^#$@#$%^&**(())**&^&!@#$%^&*(_(_)*()&#");
	 m_count = 20;
	 m_iCharhex = -1;
	 m_iEndhex = _T("0");
	 m_iStarthex = _T("0");
	 m_iForEver = FALSE;
	 m_iInterval = 0;
	 //}}AFX_DATA_INIT
	 // Note that LoadIcon does not require a subsequent DestroyIcon in Win32
	 m_hIcon = AfxGetApp()->LoadIcon(IDR_MAINFRAME);
	 m_iBaud = 5;
	 m_iStop = 0;
	 m_iPort =0;
	 m_iParity = 0;
	 m_count =20;
	 m_iData = 3;
	 m_iInterval=200;
	 receivebyte = 0;
	 bOpen=FALSE;
	 m_iCharhex=0;
	 strportname = _T("");
	 hPort = NULL;
	 m_iCom1 = _T("OFF");
	 m_iCom2 = _T("OFF");
	 //	m_iRecCount = _T("0  Byte");
	 Tempchar.SetSize(0);
	 usedtime = 0;
 }

 void CComm2410Dlg::DoDataExchange(CDataExchange* pDX)
 {
	 CDialog::DoDataExchange(pDX);
	 //{{AFX_DATA_MAP(CComm2410Dlg)
	 DDX_Control(pDX, IDC_EDIT_HAVESEND, m_iSendCount);
	 DDX_Control(pDX, IDC_EDIT_TEMP, m_iTemp);
	 DDX_Control(pDX, IDC_EDIT_RECEIVE, m_iReceiveData);
	 DDX_Text(pDX, IDC_STATIC_COM1, m_iCom1);
	 DDX_Text(pDX, IDC_STATIC_COM2, m_iCom2);
	 DDX_CBIndex(pDX, IDC_COMBO_BAUTE, m_iBaud);
	 DDX_CBIndex(pDX, IDC_COMBO_DATA, m_iData);
	 DDX_CBIndex(pDX, IDC_COMBO_PARITY, m_iParity);
	 DDX_CBIndex(pDX, IDC_COMBO_PORT, m_iPort);
	 DDX_CBIndex(pDX, IDC_COMBO_STOP, m_iStop);
	 DDX_Text(pDX, IDC_EDIT_SEND, m_senddata);
	 DDX_Text(pDX, IDC_EDIT_SENDNUMBER, m_count);
	 DDX_Radio(pDX, IDC_RADIO_FASHION, m_iCharhex);
	 DDX_Text(pDX, IDC_EDIT_ENDHEX, m_iEndhex);
	 DDX_Text(pDX, IDC_EDIT_STARTHEX, m_iStarthex);
	 DDX_Check(pDX, IDC_CHECK_FOREVER, m_iForEver);
	 DDX_Text(pDX, IDC_EDIT_INTERVAL, m_iInterval);
	 //}}AFX_DATA_MAP
 }

 BEGIN_MESSAGE_MAP(CComm2410Dlg, CDialog)
	 //{{AFX_MSG_MAP(CComm2410Dlg)
	 ON_BN_CLICKED(IDC_BUTTON_STATUS, OnButtonStatus)
	 ON_BN_CLICKED(IDC_BUTTON_SEND, OnButtonSend)
	 ON_BN_CLICKED(IDC_BUTTON_CLEAR, OnButtonClear)
	 ON_WM_TIMER()
	 ON_BN_CLICKED(IDC_RADIO_FASHION, OnRadioFashion)
	 ON_BN_CLICKED(IDC_RADIO3, OnRadio3)
	 ON_EN_KILLFOCUS(IDC_EDIT_SENDNUMBER, OnKillfocusEditSendnumber)
	 ON_EN_KILLFOCUS(IDC_EDIT_STARTHEX, OnKillfocusEditStarthex)
	 ON_EN_KILLFOCUS(IDC_EDIT_ENDHEX, OnKillfocusEditEndhex)
	 ON_BN_CLICKED(IDC_RADIO_FOREVER, OnRadioForever)
	 ON_BN_CLICKED(IDC_CHECK_FOREVER, OnCheckForever)
	 //}}AFX_MSG_MAP
	 END_MESSAGE_MAP()

	 /////////////////////////////////////////////////////////////////////////////
	 // CComm2410Dlg message handlers

	 BOOL CComm2410Dlg::OnInitDialog()
 {
	 CDialog::OnInitDialog();

	 // Set the icon for this dialog.  The framework does this automatically
	 //  when the application's main window is not a dialog
	 SetIcon(m_hIcon, TRUE);			// Set big icon
	 SetIcon(m_hIcon, FALSE);		// Set small icon
	 
	 CenterWindow(GetDesktopWindow());	// center to the hpc screen

	 // TODO: Add extra initialization here
	 SetTimer(2,123,0);
	 GetDlgItem(IDC_EDIT_STARTHEX)->EnableWindow(FALSE);
	 GetDlgItem(IDC_EDIT_ENDHEX)->EnableWindow(FALSE);
	 CString str(_T("^#$@#$%^&**(())*9*&^&%@$#!@#$%^&*(_(_)*()&&^$%#@$#!@@#*(&%^#$@#$%^&**(())**&^&%@$#!@#$%^&*(_(_)*()&&"));
	 m_iReceiveData.SetWindowText(str); ///顯示接收到的字符
	 return TRUE;  // return TRUE  unless you set the focus to a control
 }

 void CComm2410Dlg::SendData()
 {
	 DWORD dwlen;

	 if (hPort == NULL)  return ;

	 DWORD Err;
	 COMSTAT  Comm;

	 if (!ClearCommError(hPort,&Err,&Comm))
		 return;

	 if (Err != 0)
	 {
		 CString str;
		 str.Format(_T("Err1%d %d\n"),iErrCount ++,Err);
		 GetDlgItem(IDC_STATIC123)->SetWindowText(str);
	 }

	 dwlen =0; 
	 int uu = GetTickCount();
	 if (!WriteFile(hPort,Tempchar.GetData(),
		 Tempchar.GetSize(),
		 &dwlen,
		 NULL))

	 {
		 AfxMessageBox(_T("發送串口數據失敗!"));
	 }
	 sendbyte+=dwlen;	
	 if (!ClearCommError(hPort,&Err,&Comm))
		 return;

	 if (Err != 0)
	 {
		 CString str;
		 str.Format(_T("Err3%d %d\n"),iErrCount ++,Err);
		 GetDlgItem(IDC_STATIC123)->SetWindowText(str);
	 }

	 if (dwlen == 16)
	 {
		 usedtime = 0;
		 CString str;
		 str.Format(_T("T %d"),GetTickCount () - uu);
		 GetDlgItem(IDC_STATIC123)->SetWindowText(str);
	 }
     return;
 }

 void CComm2410Dlg::OnButtonStatus() 
 {
	 // TODO: Add your control notification handler code here
     UpdateData(TRUE);
     KillTimer(1);
	 KillTimer(3);
	 GetDlgItem(IDC_BUTTON_SEND)->EnableWindow(TRUE);
	 GetDlgItem(IDC_EDIT_SENDNUMBER)->EnableWindow(TRUE);

	 if (bOpen==TRUE)
	 {
		 CloseHandle(hPort);
		 hPort = NULL;
		 // 	m_portstatus = strportname+_T("已關閉");
		 if (strportname ==_T("COM1:"))
			 m_iCom1 = _T("OFF");
		 else 
			 m_iCom2 = _T("OFF");
		 GetDlgItem(IDC_BUTTON_STATUS)->SetWindowText(_T("打開串口"));
		 UpdateData(FALSE);
		 bOpen=FALSE;
		 return;
	 }

	 strportname.Format(_T("COM%d:"),m_iPort+1);
	 
	 if (hPort != NULL)
	 {
		 CloseHandle(hPort);
		 hPort = NULL;
	 }

	 hPort = CreateFile(strportname,// Pointer to the name of the port
		 GENERIC_READ | GENERIC_WRITE,
									// Access (read-write) mode
									0,            // Share mode
									NULL,         // Pointer to the security attribute
									OPEN_EXISTING,// How to open the serial port
									0,            // Port attributes
									NULL);        // Handle to port with attribute
	 // to copy
	 if (NULL == hPort) 
	 {
		 //m_portstatus = strportname +_T("打開失敗");
		 UpdateData(FALSE);
		 return ;
	 }
	 else 
	 {
		 DCB PortDCB;
		 
		 if (!GetCommState(hPort,&PortDCB))
		 {
			 //m_portstatus = strportname+_T("打開失敗");
			 UpdateData(FALSE);
			 return;
		 }

		 PortDCB.DCBlength = sizeof(PortDCB);
		 PortDCB.fBinary = 1;   ///binary mode, no EOF check 
		 PortDCB.fParity = 0;   ///enable parity checking 
		 //	  PortDCB.fOutxCtsFlow = m_iDsrCts;  // CTS output flow control 
		 //	  PortDCB.fOutxDsrFlow = m_iDsrCts;    //// DSR output flow control 
		 //  PortDCB.fOutX = m_iXonOff;////// XON/XOFF out flow control 
		 //    PortDCB.fInX = m_iXonOff;///// XON/XOFF in flow control 
		 PortDCB.fErrorChar = 0; /// enable error replacement 
		 PortDCB.fNull = 0;            // enable null stripping 
		 //	  PortDCB.fRtsControl = m_iRtsOn;       // RTS flow control 
		 //	  PortDCB.fDtrControl = m_iDtrOn;            //DTR flow control
		 PortDCB.fAbortOnError = 0;     // abort reads/writes on error 
		 PortDCB.BaudRate = BaudRate[m_iBaud];              // Current baud 
		 //  m_iBau.Format(_T("%d"),BaudRate[m_iBaud]);
		 PortDCB.StopBits = Stop[m_iStop];     
		 PortDCB.Parity = Parity[m_iParity];
		 PortDCB.ByteSize = Data[m_iData];

		 if (!SetCommState(hPort,&PortDCB))
		 {
			 ::CloseHandle(hPort);
			 hPort = NULL;
			 AfxMessageBox(_T("串口參數設置失敗"));
			 return;
		 }
		 /*
		 COMMTIMEOUTS CommTimeOuts;

		 COMMTIMEOUTS CommTimeouts;
		 memset(&CommTimeOuts,0,sizeof(COMMTIMEOUTS));
		 CommTimeOuts.ReadIntervalTimeout = 0xffff0000;
		 CommTimeOuts.ReadTotalTimeoutConstant = 0xffff0000;
		 CommTimeOuts.ReadTotalTimeoutMultiplier = 100;
		 CommTimeOuts.WriteTotalTimeoutConstant = MAXDWORD;
		 CommTimeOuts.WriteTotalTimeoutMultiplier = 1000;
		 
		 if (!SetCommTimeouts (hPort, &CommTimeouts))
		 {
			 CloseHandle(hPort);
			 hPort = NULL ;
			 //m_portstatus = strportname+_T("打開失敗");
			 UpdateData(FALSE);
			 return ;
		 }
		 */

		 SetupComm(hPort,8192,8192);
		 
		 //m_portstatus = strportname+_T("已打開");
		 if (strportname ==_T("COM1:"))
			 m_iCom1 = _T("ON");
		 else m_iCom2 = _T("ON");
		 bOpen=TRUE;

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
欧美视频在线一区二区三区 | 欧美激情一区二区三区四区 | 日韩av中文字幕一区二区三区 | 激情综合网激情| 日韩精品91亚洲二区在线观看 | 久久伊人中文字幕| 国产色婷婷亚洲99精品小说| 精品国产免费人成在线观看| 26uuuu精品一区二区| 久久精品一区二区三区av| 日本一区二区三区国色天香| 国产日韩欧美精品一区| 日韩久久一区二区| 国产精品灌醉下药二区| 一区二区三区四区激情| 亚洲成a人在线观看| 麻豆国产精品777777在线| 国产成人av一区| 99久精品国产| 欧美剧情片在线观看| 日韩欧美二区三区| 国产精品理伦片| 亚洲一区二区三区在线看| 日韩高清不卡一区二区| 高清不卡一二三区| 欧美日韩专区在线| 国产欧美视频一区二区三区| 中文字幕五月欧美| 日本亚洲三级在线| 成人av免费在线播放| 欧美视频在线一区| 欧美国产日韩一二三区| 天天综合色天天综合色h| 极品少妇xxxx偷拍精品少妇| 一本色道久久综合精品竹菊| 精品日韩在线一区| 一区二区三区视频在线看| 麻豆91精品91久久久的内涵| www.66久久| 日韩欧美黄色影院| 亚洲一卡二卡三卡四卡五卡| 国产二区国产一区在线观看| 欧美精品精品一区| 日韩美女精品在线| 激情五月播播久久久精品| 欧美日韩在线免费视频| 中文字幕一区二区三| 99综合电影在线视频| 欧美一二三区在线| 午夜精品爽啪视频| 色婷婷久久久亚洲一区二区三区| 日韩精品中文字幕在线不卡尤物| 亚洲精品成人悠悠色影视| 成人免费高清视频在线观看| 日韩欧美激情四射| 日韩国产在线观看一区| 一本高清dvd不卡在线观看| 日本一区二区三区四区在线视频| 美女视频免费一区| 欧美一级日韩一级| 亚洲成a人片综合在线| 在线观看不卡一区| 亚洲综合一区二区精品导航| 成人黄色av网站在线| 国产喂奶挤奶一区二区三区| 久久97超碰色| 91精品国产欧美日韩| 亚洲成a人v欧美综合天堂| 欧美午夜精品一区二区三区| 亚洲色图都市小说| 99re这里只有精品视频首页| 国产精品久久毛片av大全日韩| 国产曰批免费观看久久久| 欧美一卡二卡三卡| 蜜桃久久久久久久| 精品盗摄一区二区三区| 美女爽到高潮91| 久久婷婷国产综合精品青草| 麻豆国产精品视频| 久久久精品免费网站| 国产一区二区三区| 中文字幕免费不卡| 99视频精品全部免费在线| 一区二区三区av电影| 欧美日韩高清一区二区| 久久不见久久见中文字幕免费| 精品久久久久久亚洲综合网| 国产91清纯白嫩初高中在线观看| 中文字幕va一区二区三区| 色综合久久久久久久| 日韩成人免费看| 久久久蜜臀国产一区二区| 99久久免费精品高清特色大片| 一区二区三区.www| 欧美一级二级三级蜜桃| 成人性生交大片免费看视频在线 | 欧美久久久久久久久久| 九九视频精品免费| 亚洲欧洲精品一区二区精品久久久 | 99久久综合99久久综合网站| 一区二区三区四区在线播放| 日韩三级.com| 色婷婷亚洲一区二区三区| 免费成人深夜小野草| 中文字幕一区二区三区视频| 91福利社在线观看| 国内精品伊人久久久久av影院| 国产精品看片你懂得| 欧美一区二区三区四区视频| 成人激情免费电影网址| 日韩成人dvd| 亚洲欧美二区三区| 精品盗摄一区二区三区| 色综合色综合色综合| 精品亚洲国产成人av制服丝袜 | 国产婷婷一区二区| 欧美综合一区二区| 国产91精品一区二区麻豆亚洲| 亚洲一二三级电影| 国产精品女同互慰在线看| 欧美一级欧美三级| 在线观看一区二区视频| 成人性生交大片免费看在线播放| 日本在线播放一区二区三区| 亚洲视频电影在线| 精品福利av导航| 欧美福利视频一区| 日本高清视频一区二区| 粉嫩蜜臀av国产精品网站| 美日韩一区二区三区| 爽好多水快深点欧美视频| 亚洲日本va午夜在线电影| 久久精品视频一区二区| 日韩精品中午字幕| 日韩写真欧美这视频| 91.com视频| 欧美三级蜜桃2在线观看| 在线观看视频一区| 99视频在线观看一区三区| 国产成人免费高清| 国产乱妇无码大片在线观看| 久久不见久久见免费视频7| 日韩国产高清影视| 日韩av一二三| 秋霞电影一区二区| 日日夜夜精品免费视频| 五月婷婷久久丁香| 婷婷久久综合九色综合绿巨人| 亚洲精品久久久蜜桃| 亚洲男人天堂av网| 亚洲综合久久久| 亚洲成人资源在线| 免费国产亚洲视频| 久久99精品国产91久久来源| 国产麻豆91精品| 成人爽a毛片一区二区免费| 成人毛片在线观看| 一本久道中文字幕精品亚洲嫩| 91蝌蚪国产九色| 欧美日韩成人激情| 日韩精品在线一区| 久久久久亚洲蜜桃| 中文字幕巨乱亚洲| 一区二区三区电影在线播| 午夜精品久久久久久久| 日韩不卡一区二区三区 | 国产精品女上位| 一区二区高清视频在线观看| 亚洲亚洲精品在线观看| 麻豆久久久久久| 国产成人精品免费在线| 91网址在线看| 91麻豆精品国产91| 国产三级精品视频| 亚洲一区二区三区四区中文字幕| 日韩国产欧美在线观看| 岛国av在线一区| 欧美一区中文字幕| 国产午夜精品在线观看| 成人免费在线观看入口| 日本怡春院一区二区| 丁香婷婷综合五月| 精品视频1区2区3区| 久久久久久日产精品| 亚洲制服丝袜在线| 国产精品一区二区在线观看网站| 91久久精品网| 精品日产卡一卡二卡麻豆| 亚洲欧美日韩国产一区二区三区 | 亚洲成人在线免费| 国产伦精品一区二区三区免费| 91麻豆高清视频| 欧美精品一区二区在线播放| 亚洲精品乱码久久久久久久久| 精品一区二区三区蜜桃| 欧美亚洲国产一区二区三区va| 精品成人一区二区三区四区| 亚洲午夜羞羞片| 99久久国产综合色|国产精品| 91精品国产免费久久综合|