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

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

?? comm2410dlg.cpp.bak

?? wince下用evc寫的一個串口通訊的程序
?? BAK
?? 第 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;
/////////////////////////////////////////////////////////////////////////////
// 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("");
	m_count = 1;
	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 =1;
	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);

}

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,100,0);
	GetDlgItem(IDC_EDIT_STARTHEX)->EnableWindow(FALSE);
	GetDlgItem(IDC_EDIT_ENDHEX)->EnableWindow(FALSE);
	return TRUE;  // return TRUE  unless you set the focus to a control
}

void CComm2410Dlg::SendData()
{
   DWORD dwlen;

   if (hPort == NULL)  return ;
    dwlen =0; 

    COMSTAT ComStat;
	DWORD dwErrorFlags = 0;
	ClearCommError(hPort, &dwErrorFlags, &ComStat);
	if (dwErrorFlags > 0 )
	{
		ClearCommBreak(hPort);
		TRACE(_T("Error\n"));
		return ;
	}			
	DWORD dwLength =  ComStat.cbOutQue ;

	while (!(dwLength ==0))
	{
		Sleep(200);
			ClearCommError(hPort, &dwErrorFlags, &ComStat);
    	dwLength =  ComStat.cbOutQue ;
	}

   if (!WriteFile(hPort,Tempchar.GetData(),
	             Tempchar.GetSize(),
				 &dwlen,
				 NULL))

	  AfxMessageBox(_T("發送串口數據失敗!"));
     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 = 100;
	   
	  if (!SetCommTimeouts (hPort, &CommTimeouts))
	  {
			CloseHandle(hPort);
			hPort = NULL ;
			//m_portstatus = strportname+_T("打開失敗");
		     UpdateData(FALSE);
			return ;
	  }
          //m_portstatus = strportname+_T("已打開");
	  if (strportname ==_T("COM1:"))
		  m_iCom1 = _T("ON");
	  else m_iCom2 = _T("ON");
		  bOpen=TRUE;
		  UpdateData(FALSE);
  }
    GetDlgItem(IDC_BUTTON_STATUS)->SetWindowText(_T("關閉串口"));
}

void CComm2410Dlg::OnButtonSend() 
{
	// TODO: Add your control notification handler code here
	 if  (hPort == NULL) 
	{
     AfxMessageBox(_T("還沒有串口被打開!"));
	 return;
	}

    if (!StopSend)
	{
		KillTimer(3);
		KillTimer(1);
	    GetDlgItem(IDC_EDIT_SENDNUMBER)->EnableWindow(TRUE);
		GetDlgItem(IDC_BUTTON_SEND)->SetWindowText(_T("發送"));
		StopSend=TRUE;
		return;
    }
   sendbyte=0;
   UpdateData(TRUE);

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
丁香啪啪综合成人亚洲小说| 亚洲一区二区三区四区五区中文| 欧洲另类一二三四区| 成人午夜碰碰视频| 成人激情av网| 99热这里都是精品| 一本大道久久精品懂色aⅴ| 国产在线不卡一卡二卡三卡四卡| 亚洲国产日产av| 中文字幕中文字幕一区| 国产精品久久久久久久蜜臀| 欧美国产国产综合| 亚洲天堂2014| 亚洲成人一二三| 青娱乐精品视频| 国产在线不卡一卡二卡三卡四卡| 国产乱理伦片在线观看夜一区| 国产精品18久久久久| 成人黄色大片在线观看| 91亚洲午夜精品久久久久久| 色吧成人激情小说| 欧美一区二区成人6969| 久久综合国产精品| 亚洲视频综合在线| 日韩精品亚洲专区| 国产精品综合二区| 色婷婷av一区二区三区软件| 777色狠狠一区二区三区| 久久久久亚洲蜜桃| 亚洲精选一二三| 免费精品视频最新在线| 成人一道本在线| 欧美日韩小视频| 国产欧美一区二区三区鸳鸯浴 | 亚洲欧美影音先锋| 亚洲国产一区二区视频| 国产毛片精品视频| 91久久精品网| 国产亚洲精品免费| 午夜天堂影视香蕉久久| 国产高清成人在线| 欧美三级日本三级少妇99| 日韩一区二区三区免费观看| 国产精品久久久久7777按摩| 亚洲va国产va欧美va观看| 丁香一区二区三区| 欧美一区二区三区四区在线观看| 国产精品国产三级国产aⅴ入口| 日日摸夜夜添夜夜添国产精品| 国产大陆精品国产| 日韩免费成人网| 亚洲午夜电影在线观看| 成人av在线网站| 日韩欧美电影在线| 性感美女极品91精品| 成人免费电影视频| 亚洲精品一线二线三线 | 91麻豆精品国产| 国产精品美女一区二区| 国产一区二区三区精品视频| 欧美精品高清视频| 亚洲国产精品一区二区www | 欧美一区二区三区四区久久| 亚洲视频一二三| 粉嫩av一区二区三区粉嫩| 日韩限制级电影在线观看| 亚洲高清中文字幕| 91免费观看在线| 亚洲欧洲韩国日本视频| 大陆成人av片| 国产精品女主播av| 国产激情偷乱视频一区二区三区| 精品国一区二区三区| 蜜桃久久精品一区二区| 日韩视频免费观看高清完整版| 亚洲成人黄色影院| 在线不卡免费av| 日韩精品一二三区| 日韩免费性生活视频播放| 九一久久久久久| 精品久久久久99| 国产酒店精品激情| 国产精品网曝门| 99精品1区2区| 亚洲自拍偷拍麻豆| 欧美精品久久99久久在免费线| 欧美aaa在线| 26uuu久久天堂性欧美| 国产精品一线二线三线精华| 国产欧美日韩综合| 96av麻豆蜜桃一区二区| 亚洲一区二区黄色| 日韩视频在线永久播放| 国产在线精品免费| 国产精品久久久久永久免费观看| 99精品久久只有精品| 一区二区免费看| 日韩一区二区三区在线视频| 国产激情视频一区二区在线观看| 亚洲欧洲日本在线| 欧美久久久久免费| 国产精品影视在线| 亚洲一二三四久久| 精品国产123| 色综合中文综合网| 在线亚洲一区二区| 午夜av一区二区三区| 精品国产一区a| 99视频精品在线| 美脚の诱脚舐め脚责91 | 国产人伦精品一区二区| 91日韩在线专区| 看片网站欧美日韩| 亚洲女同ⅹxx女同tv| 精品乱人伦小说| 色噜噜狠狠色综合中国| 国产又黄又大久久| 一区二区三区产品免费精品久久75| 欧美一区二区三区四区在线观看| 99热在这里有精品免费| 美女视频网站久久| 亚洲女人小视频在线观看| 精品国产髙清在线看国产毛片| 色菇凉天天综合网| 成人久久视频在线观看| 捆绑调教美女网站视频一区| 一区二区在线观看视频| 亚洲国产电影在线观看| 欧美成人在线直播| 不卡av在线免费观看| 免费看黄色91| 丝袜美腿亚洲色图| 一区二区成人在线观看| 中文字幕第一区二区| 精品福利一区二区三区| 欧美日韩亚洲丝袜制服| 欧美在线不卡一区| 一本到不卡免费一区二区| 99久久精品免费精品国产| 国产jizzjizz一区二区| 国产一区二区三区免费看| 麻豆精品久久久| 日日骚欧美日韩| 偷窥国产亚洲免费视频| 一区二区久久久久久| 夜夜爽夜夜爽精品视频| 亚洲欧美日韩电影| 国产精品家庭影院| 国产精品久久久爽爽爽麻豆色哟哟 | 91天堂素人约啪| av在线不卡网| 91在线porny国产在线看| 成人污污视频在线观看| 国产成人午夜99999| 国产精品一区二区在线播放| 国产乱人伦精品一区二区在线观看| 麻豆精品久久精品色综合| 一区二区三区中文字幕精品精品 | 一个色妞综合视频在线观看| 国产精品第13页| 国产精品成人一区二区三区夜夜夜| 中文字幕av一区二区三区高| 国产亚洲女人久久久久毛片| 日本一二三四高清不卡| 国产精品卡一卡二| 亚洲女人****多毛耸耸8| 亚洲一区二区精品久久av| 亚洲成人一区在线| 麻豆精品在线播放| 国产精品亚洲第一区在线暖暖韩国 | 欧美一二三区精品| 日韩精品综合一本久道在线视频| 在线播放一区二区三区| 日韩精品一区在线观看| 国产三级三级三级精品8ⅰ区| 日本一区二区三区免费乱视频 | 亚洲二区视频在线| 亚洲第一福利一区| 免费美女久久99| 成人av网址在线观看| 欧美做爰猛烈大尺度电影无法无天| 91极品视觉盛宴| 欧美日韩高清不卡| 欧美变态tickling挠脚心| 久久色视频免费观看| 18成人在线观看| 亚洲午夜在线视频| 美脚の诱脚舐め脚责91| 成人黄色片在线观看| 欧美人xxxx| 欧美一区二区女人| 日韩一区二区三区高清免费看看| 国产精品欧美久久久久无广告| 亚洲女厕所小便bbb| 久久国产精品无码网站| 国产一区视频导航| 94-欧美-setu| 精品国产一区二区三区久久影院| 亚洲人亚洲人成电影网站色| 久久电影网站中文字幕|