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

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

?? transbmp.cpp

?? 嵌入式linux下的rs232驅動
?? CPP
字號:
// TransBmp.cpp : Defines the class behaviors for the application.
//

#include "stdafx.h"
#include "TransBmp.h"

#include "MainFrm.h"
#include "TransBmpDoc.h"
#include "TransBmpView.h"
#include "common.h"

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


static HANDLE					hCom;                     //串口句柄
int		g_nBaudRate = 28800;
/////////////////////////////////////////////////////////////////////////////
// CTransBmpApp

BEGIN_MESSAGE_MAP(CTransBmpApp, CWinApp)
	//{{AFX_MSG_MAP(CTransBmpApp)
	ON_COMMAND(ID_APP_ABOUT, OnAppAbout)
		// NOTE - the ClassWizard will add and remove mapping macros here.
		//    DO NOT EDIT what you see in these blocks of generated code!
	//}}AFX_MSG_MAP
	// Standard file based document commands
	ON_COMMAND(ID_FILE_NEW, CWinApp::OnFileNew)
	ON_COMMAND(ID_FILE_OPEN, CWinApp::OnFileOpen)
END_MESSAGE_MAP()

/////////////////////////////////////////////////////////////////////////////
// CTransBmpApp construction

CTransBmpApp::CTransBmpApp()
{
	// TODO: add construction code here,
	// Place all significant initialization in InitInstance
}

/////////////////////////////////////////////////////////////////////////////
// The one and only CTransBmpApp object

CTransBmpApp theApp;

// CTransBmpApp initialization
//////////////////////////////////////////////////////////////////////////////////////////////
void convert_long ( unsigned char * buffer )
{
	unsigned char Temp;

	Temp = *( ( unsigned char * ) buffer );
	*( ( unsigned char * ) buffer ) = *( ( unsigned char * ) ( buffer + 3 ) );
	*( ( unsigned char * ) ( buffer + 3 ) ) = Temp;

	Temp = *( ( unsigned char * ) ( buffer + 1 ) );
	*( ( unsigned char * ) ( buffer + 1 ) ) = *( ( unsigned char * ) ( buffer + 2 ) );
	*( ( unsigned char * ) ( buffer + 2 ) ) = Temp;
}

int  InitSerial()
{
	DCB Comdcb; //串口通信控制塊
	COMMTIMEOUTS ComTimeOut; //超時控制塊
    
	hCom = CreateFile("COM1",GENERIC_READ | GENERIC_WRITE, 0, NULL, 
		OPEN_EXISTING,0, NULL);//FILE_FLAG_OVERLAPPED FILE_ATTRIBUTE_NORMAL
    if (hCom == INVALID_HANDLE_VALUE)
	{
		TRACE("Failed to open COM1\n");
		return 1;
	}
	PurgeComm(hCom,PURGE_TXABORT|PURGE_RXABORT|
		           PURGE_TXCLEAR|PURGE_RXCLEAR);


	if(!GetCommState(hCom, &Comdcb))
   		return 2;
    //設置串口通信參數
	Comdcb.BaudRate = g_nBaudRate;//4800;	//57600;//38400;//9600
	Comdcb.ByteSize = 8;
	Comdcb.Parity = NOPARITY;
	Comdcb.StopBits = ONESTOPBIT;

	if(!SetCommState(hCom, &Comdcb))
   		return 3;

	ComTimeOut.ReadIntervalTimeout = 200;//50;
	ComTimeOut.ReadTotalTimeoutMultiplier = 0;
	ComTimeOut.ReadTotalTimeoutConstant = 0;

	ComTimeOut.WriteTotalTimeoutMultiplier=0;
	ComTimeOut.WriteTotalTimeoutConstant=0;


	if(!SetCommTimeouts(hCom,&ComTimeOut))
   		return 4;

	return 0;
}

BOOL CTransBmpApp::InitInstance()
{
	AfxEnableControlContainer();

	// Standard initialization
	// If you are not using these features and wish to reduce the size
	//  of your final executable, you should remove from the following
	//  the specific initialization routines you do not need.

#ifdef _AFXDLL
	Enable3dControls();			// Call this when using MFC in a shared DLL
#else
	Enable3dControlsStatic();	// Call this when linking to MFC statically
#endif

	// Change the registry key under which our settings are stored.
	// TODO: You should modify this string to be something appropriate
	// such as the name of your company or organization.
	SetRegistryKey(_T("Local AppWizard-Generated Applications"));

	LoadStdProfileSettings();  // Load standard INI file options (including MRU)
	/////////////////////////////////////////
	//從參數行讀取參數
	char buffer[480];
	char tempbuffer[480];
	strcpy(buffer,GetCommandLine());
	sscanf(buffer,"%s %d",tempbuffer,&g_nBaudRate);
	///////////////////////////////////////////////////////////////////////////////////////////
	//等待連接,連接成功后顯示界面顯示傳來的位圖
	InitSerial();
	///////////////////////////////////////////////////////////////////////////////////////////
	///////////////////////////////////////////////////////////////////////////////////////////
	CString strFileName(_T("test.bmp")); 
	CFile File(strFileName, CFile::modeReadWrite|CFile::modeCreate);
	///////////////////////////////////////////////////////////////////////////////////////////
	DWORD SendRetVal = 0;

	char szRecvBuf[LINESIZE];
	DWORD dwBytesRead = 0;

	//先要傳一個文件長度過來,
	int nFileLen = 0;

	//ReadFile(hCom,(char *)&nFileLen,4,&dwBytesRead,NULL);
	//convert_long((unsigned char *)&nFileLen);
	//TRACE("文件長度%d\n",nFileLen);
	int nBytesHaveRecv = 0;
	for(;;)
	{
		dwBytesRead = 0;
		memset(szRecvBuf,0,LINESIZE);
		ReadFile(hCom,szRecvBuf,LINESIZE,&dwBytesRead,NULL);
		TRACE("收到%d字節:\n",dwBytesRead);
		///////////////////////////////////////////////////////////////////////////////////////
		File.Write((void *)szRecvBuf,dwBytesRead);
		nBytesHaveRecv+=dwBytesRead;
		//if(nBytesHaveRecv >= nFileLen)
		if(dwBytesRead < LINESIZE)
		{
			File.Close();
			TRACE("BMP文件傳輸完畢\n");
			break;
		}
	}
	CloseHandle(hCom);
	///////////////////////////////////////////////////////////////////////////////////////////
	// Register the application's document templates.  Document templates
	//  serve as the connection between documents, frame windows and views.

	CSingleDocTemplate* pDocTemplate;
	pDocTemplate = new CSingleDocTemplate(
		IDR_MAINFRAME,
		RUNTIME_CLASS(CTransBmpDoc),
		RUNTIME_CLASS(CMainFrame),       // main SDI frame window
		RUNTIME_CLASS(CTransBmpView));
	AddDocTemplate(pDocTemplate);

	// Parse command line for standard shell commands, DDE, file open
	/*
	CCommandLineInfo cmdInfo;
	ParseCommandLine(cmdInfo);
	// Dispatch commands specified on the command line
	if (!ProcessShellCommand(cmdInfo))
		return FALSE;
	*///用新的命令行代替
	OnFileNew();
	// The one and only window has been initialized, so show and update it.
	m_pMainWnd->ShowWindow(SW_SHOW);
	m_pMainWnd->UpdateWindow();

	return TRUE;
}


/////////////////////////////////////////////////////////////////////////////
// CAboutDlg dialog used for App About

class CAboutDlg : public CDialog
{
public:
	CAboutDlg();

// Dialog Data
	//{{AFX_DATA(CAboutDlg)
	enum { IDD = IDD_ABOUTBOX };
	//}}AFX_DATA

	// ClassWizard generated virtual function overrides
	//{{AFX_VIRTUAL(CAboutDlg)
	protected:
	virtual void DoDataExchange(CDataExchange* pDX);    // DDX/DDV support
	//}}AFX_VIRTUAL

// Implementation
protected:
	//{{AFX_MSG(CAboutDlg)
		// No message handlers
	//}}AFX_MSG
	DECLARE_MESSAGE_MAP()
};

CAboutDlg::CAboutDlg() : CDialog(CAboutDlg::IDD)
{
	//{{AFX_DATA_INIT(CAboutDlg)
	//}}AFX_DATA_INIT
}

void CAboutDlg::DoDataExchange(CDataExchange* pDX)
{
	CDialog::DoDataExchange(pDX);
	//{{AFX_DATA_MAP(CAboutDlg)
	//}}AFX_DATA_MAP
}

BEGIN_MESSAGE_MAP(CAboutDlg, CDialog)
	//{{AFX_MSG_MAP(CAboutDlg)
		// No message handlers
	//}}AFX_MSG_MAP
END_MESSAGE_MAP()

// App command to run the dialog
void CTransBmpApp::OnAppAbout()
{
	CAboutDlg aboutDlg;
	aboutDlg.DoModal();
}

/////////////////////////////////////////////////////////////////////////////
// CTransBmpApp message handlers

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
欧美精品一区视频| 日韩在线一二三区| 亚洲v中文字幕| 国产成人综合亚洲91猫咪| 欧美在线观看视频一区二区 | 91在线免费视频观看| 欧美二区三区91| 一区二区三区加勒比av| 国产福利一区二区三区视频在线| 欧美日韩一区视频| 亚洲乱码国产乱码精品精小说| 精品综合久久久久久8888| 91国在线观看| ●精品国产综合乱码久久久久 | 亚洲男女毛片无遮挡| 国产精品亚洲综合一区在线观看| 欧美日韩不卡一区二区| 亚洲高清免费一级二级三级| 91蜜桃婷婷狠狠久久综合9色| 国产亚洲一二三区| 激情久久五月天| 欧美不卡视频一区| 另类小说欧美激情| 日韩一区二区中文字幕| 爽好多水快深点欧美视频| 91久久精品国产91性色tv| 国产精品超碰97尤物18| 成人短视频下载| 欧美高清在线一区| 99国产精品一区| 一区二区三区小说| 欧洲日韩一区二区三区| 亚洲无线码一区二区三区| 欧美日韩免费电影| 日韩中文字幕亚洲一区二区va在线| 欧美三区在线视频| 天天影视网天天综合色在线播放| 欧美人狂配大交3d怪物一区| 天堂影院一区二区| 日韩精品一区二区三区在线播放| 美女www一区二区| 久久久国产综合精品女国产盗摄| 国产精品一品视频| 亚洲女同女同女同女同女同69| 99国产精品久久久久久久久久 | 精品视频999| 青青青伊人色综合久久| 久久亚洲春色中文字幕久久久| 精品在线免费观看| 中文字幕一区在线观看视频| 91九色最新地址| 久久国产乱子精品免费女| 日本一区二区免费在线| 一本到不卡免费一区二区| 日日夜夜一区二区| xfplay精品久久| 91免费看片在线观看| 三级不卡在线观看| 国产亚洲欧美日韩在线一区| 99久久99久久久精品齐齐| 天堂久久一区二区三区| 国产亚洲女人久久久久毛片| 色欧美88888久久久久久影院| 日韩国产在线观看一区| 国产免费成人在线视频| 欧美色涩在线第一页| 国内久久婷婷综合| 亚洲一二三四区| 久久伊99综合婷婷久久伊| 972aa.com艺术欧美| 另类的小说在线视频另类成人小视频在线 | 国产麻豆视频精品| 一区二区在线观看视频| 精品国精品自拍自在线| 91免费视频观看| 国产一区二区在线观看视频| 亚洲国产精品一区二区久久| 欧美激情一区二区三区不卡| 久久综合五月天婷婷伊人| 在线看日本不卡| 国产精品99久久久| 亚洲高清免费在线| 国产精品九色蝌蚪自拍| 亚洲精品一区二区三区影院| 色婷婷av一区二区三区软件 | 天天综合网 天天综合色| 中文字幕在线不卡一区二区三区| 日韩一二三四区| 色综合天天综合| 成人美女在线视频| 狠狠狠色丁香婷婷综合激情| 亚洲成a人v欧美综合天堂 | 亚洲国产欧美在线人成| 亚洲国产激情av| 精品久久久久久无| 91精品国产综合久久福利| 色88888久久久久久影院野外 | 日本一区二区三级电影在线观看| 日韩一级免费一区| 欧美日韩精品专区| 91成人免费网站| 91视频免费观看| 色综合天天天天做夜夜夜夜做| 不卡的电视剧免费网站有什么| 国产精品99久| 国产精品一二一区| 国产大片一区二区| 国产一区二区伦理| 久久爱www久久做| 久久成人18免费观看| 石原莉奈一区二区三区在线观看| 亚洲国产精品一区二区www| 亚洲国产人成综合网站| 天天操天天综合网| 天堂av在线一区| 免费欧美日韩国产三级电影| 玖玖九九国产精品| 精品一区二区三区在线播放| 国产一区二区在线观看免费| 国产一本一道久久香蕉| 成人毛片在线观看| 97成人超碰视| 欧美日本一道本| 精品少妇一区二区三区日产乱码| 精品盗摄一区二区三区| 中文欧美字幕免费| 亚洲人成在线播放网站岛国| 一区二区三区中文在线| 日产精品久久久久久久性色 | 亚洲不卡在线观看| 久久精品国产亚洲高清剧情介绍| 激情五月婷婷综合| 成人精品免费网站| 欧美体内she精视频| 日韩一级免费观看| 国产精品污www在线观看| 亚洲欧美一区二区三区极速播放| 亚洲国产毛片aaaaa无费看| 美女视频黄 久久| www.色精品| 欧美日韩国产影片| 久久久久久久性| 夜夜嗨av一区二区三区中文字幕 | 亚洲综合激情小说| 麻豆精品精品国产自在97香蕉| 国产v综合v亚洲欧| 在线免费观看一区| 精品国产91乱码一区二区三区| 国产精品三级av在线播放| 亚洲午夜久久久久久久久电影网 | 91女神在线视频| 日韩网站在线看片你懂的| 国产精品女同互慰在线看| 亚洲高清免费观看| 成a人片亚洲日本久久| 欧美一区二区三区免费大片| 中文字幕一区二区三中文字幕| 日本中文一区二区三区| av在线不卡电影| 日韩免费观看高清完整版| 亚洲美女偷拍久久| 国内精品国产成人国产三级粉色| 91福利精品视频| 欧美激情综合在线| 美国毛片一区二区三区| 日本韩国一区二区三区| 国产日韩欧美在线一区| 男人的j进女人的j一区| 欧美自拍偷拍午夜视频| 国产精品每日更新在线播放网址 | 亚洲一区二区偷拍精品| 精品亚洲aⅴ乱码一区二区三区| 色香蕉久久蜜桃| 国产夜色精品一区二区av| 免费视频一区二区| 欧美群妇大交群中文字幕| 国产精品不卡一区二区三区| 国产老女人精品毛片久久| 正在播放亚洲一区| 一区二区欧美在线观看| 97久久超碰国产精品电影| 久久这里只有精品视频网| 成人一区二区在线观看| 精品国产一区二区三区不卡| 日本午夜精品一区二区三区电影 | 日韩高清不卡一区| 在线观看日韩电影| 亚洲黄色免费电影| 91美女视频网站| 亚洲免费色视频| 一本色道久久综合亚洲精品按摩| 国产精品乱码人人做人人爱| 国产一区二区三区在线观看免费视频 | 日韩国产精品久久久久久亚洲| 一本一道久久a久久精品| 中文字幕永久在线不卡| 91香蕉视频污在线| 亚洲精品一二三四区| 欧洲av一区二区嗯嗯嗯啊| 一区2区3区在线看|