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

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

?? bike_speeddlg.cpp

?? vc開發的自行車里程速度表!串口檢測脈沖信號
?? CPP
字號:
// bike_speedDlg.cpp : implementation file
//

#include "stdafx.h"
#include "bike_speed.h"
#include "bike_speedDlg.h"
#include "math.h"

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


CString str_test;
bool key_Pulse=true;//脈沖開關
bool key_Start=true;//脈沖開關
bool key_ChangeBike=true;//脈沖開關

int Num_Start=1;
int Num_ChangeBike=1;
int Npulse=0;//脈沖數
double Speed=0;//速度
int Npulse_preSecond=0;//每一秒前檢測到的脈沖數
int Npulse_Second=0;//每一秒檢測到的脈沖數
double pulse2speed=1;//每個脈沖對應的車輪速度
/////////////////////////////////////////////////////////////////////////////
// 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)
	//}}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()

/////////////////////////////////////////////////////////////////////////////
// CBike_speedDlg dialog

CBike_speedDlg::CBike_speedDlg(CWnd* pParent /*=NULL*/)
	: CDialog(CBike_speedDlg::IDD, pParent)
{
	//{{AFX_DATA_INIT(CBike_speedDlg)
		// NOTE: the ClassWizard will add member initialization here
	//}}AFX_DATA_INIT
	// Note that LoadIcon does not require a subsequent DestroyIcon in Win32
	m_hIcon = AfxGetApp()->LoadIcon(IDR_MAINFRAME);
}

void CBike_speedDlg::DoDataExchange(CDataExchange* pDX)
{
	CDialog::DoDataExchange(pDX);
	//{{AFX_DATA_MAP(CBike_speedDlg)
	DDX_Control(pDX, IDC_MSCOMM1, m_mscomm);
	//}}AFX_DATA_MAP
}

BEGIN_MESSAGE_MAP(CBike_speedDlg, CDialog)
	//{{AFX_MSG_MAP(CBike_speedDlg)
	ON_WM_SYSCOMMAND()
	ON_WM_PAINT()
	ON_WM_QUERYDRAGICON()
	ON_BN_CLICKED(IDC_OPENPORT, OnOpenport)
	ON_WM_TIMER()
	//}}AFX_MSG_MAP
END_MESSAGE_MAP()

/////////////////////////////////////////////////////////////////////////////
// CBike_speedDlg message handlers

BOOL CBike_speedDlg::OnInitDialog()
{
	CDialog::OnInitDialog();
    
	// Add "About..." menu item to system menu.

	// IDM_ABOUTBOX must be in the system command range.
	ASSERT((IDM_ABOUTBOX & 0xFFF0) == IDM_ABOUTBOX);
	ASSERT(IDM_ABOUTBOX < 0xF000);

	CMenu* pSysMenu = GetSystemMenu(FALSE);
	if (pSysMenu != NULL)
	{
		CString strAboutMenu;
		strAboutMenu.LoadString(IDS_ABOUTBOX);
		if (!strAboutMenu.IsEmpty())
		{
			pSysMenu->AppendMenu(MF_SEPARATOR);
			pSysMenu->AppendMenu(MF_STRING, IDM_ABOUTBOX, strAboutMenu);
		}
	}

	// 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
	
	// TODO: Add extra initialization here
	
	return TRUE;  // return TRUE  unless you set the focus to a control
}

void CBike_speedDlg::OnSysCommand(UINT nID, LPARAM lParam)
{
	if ((nID & 0xFFF0) == IDM_ABOUTBOX)
	{
		CAboutDlg dlgAbout;
		dlgAbout.DoModal();
	}
	else
	{
		CDialog::OnSysCommand(nID, lParam);
	}
}

// If you add a minimize button to your dialog, you will need the code below
//  to draw the icon.  For MFC applications using the document/view model,
//  this is automatically done for you by the framework.

void CBike_speedDlg::OnPaint() 
{
	if (IsIconic())
	{
		CPaintDC dc(this); // device context for painting

		SendMessage(WM_ICONERASEBKGND, (WPARAM) dc.GetSafeHdc(), 0);

		// Center icon in client rectangle
		int cxIcon = GetSystemMetrics(SM_CXICON);
		int cyIcon = GetSystemMetrics(SM_CYICON);
		CRect rect;
		GetClientRect(&rect);
		int x = (rect.Width() - cxIcon + 1) / 2;
		int y = (rect.Height() - cyIcon + 1) / 2;

		// Draw the icon
		dc.DrawIcon(x, y, m_hIcon);
	}
	else
	{
		CDialog::OnPaint();
	}
}

// The system calls this to obtain the cursor to display while the user drags
//  the minimized window.
HCURSOR CBike_speedDlg::OnQueryDragIcon()
{
	return (HCURSOR) m_hIcon;
}
////////////////////////////////////////////////////////////////////shiying
void CBike_speedDlg::OnOpenport() 
{
		m_mscomm.SetCommPort(4); //串口4
		m_mscomm.SetPortOpen(true);
		SetTimer(1,1,NULL);//起用一毫秒的定時器
		SetTimer(2,1000,NULL);//起用一秒的定時器				
}

void CBike_speedDlg::OnTimer(UINT nIDEvent) 
{
	// TODO: Add your message handler code here and/or call default
	switch (nIDEvent)
{
case 1:  ///處理ID為1的定時器	
//檢測脈沖	CD為1腳  紅線
if((m_mscomm.GetCDHolding()==1)&(key_Pulse==true))	
{	
	
	CString str_Npulse;	
	Npulse++;    
	str_Npulse.Format("%d",Npulse);//轉換數據格式:char to CString	
	UpdateData(FALSE);//更新編輯框內容
	//顯示脈沖數
	SetDlgItemText(IDC_NPULSE,str_Npulse);    
	key_Pulse=false;	
}
else if ((m_mscomm.GetCDHolding()==0)&(key_Pulse==false))
	{
     key_Pulse=true;
	}
//檢測啟停開關   DSR為6腳 白線
if((m_mscomm.GetDSRHolding()==1)&(key_Start==true))	
{    
    
	key_Start=false;
	Num_Start=Num_Start+1;
}
else if ((m_mscomm.GetDSRHolding()==0)&(key_Start==false))	
	{
    key_Start=true;
	}
		
if(Num_Start/2-(double(Num_Start)/2)==0)
{
//顯示
	SetDlgItemText(IDC_START,"已啟動");
}else
{
//顯示
	SetDlgItemText(IDC_START,"已停止");
}
//檢測選車開關    CTS為8腳 黃線
if((m_mscomm.GetCTSHolding()==1)&(key_ChangeBike==true))	
{	    
      
    key_ChangeBike=false;
	Num_ChangeBike=Num_ChangeBike+1;
}
else if ((m_mscomm.GetCTSHolding()==0)&(key_ChangeBike==false))	
	{
     
	key_ChangeBike=true;
	}
if(Num_ChangeBike/2-(double(Num_ChangeBike)/2)==0)
{
//顯示
	SetDlgItemText(IDC_CHANGEBIKE,"第二輛車");
}else
{
//顯示
	SetDlgItemText(IDC_CHANGEBIKE,"第一輛車");
}

	
//黑線備用,5腳金屬線為GND
break;

    case 2:  ///處理ID為2的定時器				
		CString str_Speed;
		//計算速度
        Npulse_Second=Npulse-Npulse_preSecond;//計算每一秒檢測到的脈沖數
        Speed=Npulse_Second*pulse2speed;//每一秒脈沖數換算速度
		str_Speed.Format("%0.3f",Speed);//轉換數據格式:char to CString
		UpdateData(FALSE);//更新編輯框內容	
		//顯示速度
		SetDlgItemText(IDC_SPEEDDATA,str_Speed);
		Npulse_preSecond=Npulse;//記錄當前脈沖數
		break;
	} 
	CDialog::OnTimer(nIDEvent);
}
////////////////////////////////////////////////////////////////////shiying

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
91久久精品一区二区二区| 色综合久久综合网97色综合| 亚洲精品五月天| 国产精品成人免费| 国产精品久久二区二区| 国产欧美日韩麻豆91| 国产精品久久午夜夜伦鲁鲁| 国产精品三级久久久久三级| 国产欧美日韩不卡免费| 国产日韩欧美高清| 国产农村妇女毛片精品久久麻豆| 久久久不卡影院| 国产精品麻豆一区二区| 亚洲色大成网站www久久九九| 亚洲美女在线一区| 亚洲国产日韩在线一区模特| 亚洲福利视频一区二区| 青青草原综合久久大伊人精品| 男人的天堂亚洲一区| 国产麻豆精品在线| 91亚洲精品一区二区乱码| 在线观看日韩国产| 日韩午夜电影在线观看| 精品少妇一区二区三区免费观看| 久久久精品综合| 亚洲久草在线视频| 日韩av电影天堂| 成人永久看片免费视频天堂| 91麻豆.com| 欧美一级高清大全免费观看| 久久久久久久久97黄色工厂| 一区二区三区在线视频观看58 | 欧美精品电影在线播放| 精品国产网站在线观看| 最近中文字幕一区二区三区| 亚洲电影在线播放| 国产a级毛片一区| 色琪琪一区二区三区亚洲区| 中文字幕人成不卡一区| 亚洲精品成人精品456| 日本亚洲一区二区| 成人h精品动漫一区二区三区| 欧美日韩亚洲综合一区| 久久久www成人免费无遮挡大片| 一区二区三区在线免费播放 | 国产成人a级片| 91久久精品一区二区三区| 久久综合色婷婷| 亚洲一区二区三区四区五区中文| 韩国女主播成人在线观看| 欧美这里有精品| 日本一区二区视频在线| 日本色综合中文字幕| 91精品办公室少妇高潮对白| 久久综合色一综合色88| 日本最新不卡在线| 欧美吻胸吃奶大尺度电影| 国产日韩欧美精品电影三级在线| 日韩成人一区二区| 欧美色倩网站大全免费| 国产精品国产三级国产aⅴ入口 | 一本色道亚洲精品aⅴ| 久久这里只有精品6| 日本欧美韩国一区三区| 欧美吞精做爰啪啪高潮| 一区二区三区中文字幕精品精品 | 日韩欧美一区在线| 亚洲成人免费av| 色婷婷香蕉在线一区二区| 国产精品电影院| 粉嫩av一区二区三区在线播放 | 日韩美女精品在线| 成人av影院在线| 中文字幕一区二区三区蜜月| 国产91在线|亚洲| 欧美国产国产综合| 国产999精品久久| 久久久久久久电影| 懂色av一区二区夜夜嗨| 国产欧美精品一区| 成人免费毛片嘿嘿连载视频| 26uuu精品一区二区三区四区在线| 另类的小说在线视频另类成人小视频在线 | 风间由美一区二区三区在线观看| 精品剧情在线观看| 韩国女主播成人在线观看| 精品美女被调教视频大全网站| 免费不卡在线观看| 26uuu精品一区二区三区四区在线| 国产一区二区在线电影| 国产亚洲欧美一级| 欧美久久久久久久久久| 欧美亚洲高清一区二区三区不卡| 91美女在线看| 国产人伦精品一区二区| 经典三级视频一区| 国产视频一区在线播放| 成人午夜电影小说| 日韩经典中文字幕一区| 欧美日韩国产免费一区二区 | 色老汉一区二区三区| 韩国一区二区在线观看| 婷婷综合五月天| 亚洲精品欧美综合四区| 久久久久久久久伊人| 精品入口麻豆88视频| 91精品一区二区三区久久久久久| 91亚洲精品久久久蜜桃| aaa亚洲精品一二三区| 成人美女在线观看| 成人18视频日本| 丁香婷婷综合激情五月色| 国产一区在线观看麻豆| 精品一区二区三区在线播放 | 亚洲成av人片观看| 亚洲高清免费视频| 水野朝阳av一区二区三区| 首页国产欧美久久| 美女免费视频一区| 国产尤物一区二区| 成人一区二区三区在线观看 | 韩国在线一区二区| 国产一区二区三区精品欧美日韩一区二区三区| 日韩高清欧美激情| 日本午夜一区二区| 麻豆国产精品官网| 国产一区二三区| 99精品在线免费| 欧洲av一区二区嗯嗯嗯啊| 3d动漫精品啪啪一区二区竹菊| 91精品免费在线| 久久一区二区三区国产精品| 亚洲国产岛国毛片在线| 亚洲天堂2014| 日本美女一区二区| 国产成人在线电影| 91香蕉视频在线| 91精品国产综合久久久久久漫画| 日韩美女视频在线| 国产精品女上位| 亚洲6080在线| 国产精品69毛片高清亚洲| 色香蕉久久蜜桃| 日韩精品一区二区三区视频| 欧美激情一区不卡| 五月天亚洲精品| 国产白丝精品91爽爽久久| 一本一道久久a久久精品 | 久久国产夜色精品鲁鲁99| 国产成人免费高清| 欧美羞羞免费网站| 久久综合九色欧美综合狠狠| 亚洲欧美国产三级| 久久se这里有精品| 色综合久久88色综合天天 | 午夜精品一区二区三区免费视频| 另类中文字幕网| 一本色道综合亚洲| 久久众筹精品私拍模特| 亚洲国产成人tv| 岛国一区二区在线观看| 欧美日韩精品欧美日韩精品一| 国产网站一区二区三区| 午夜国产不卡在线观看视频| 国产高清精品久久久久| 欧美视频一区二区| 欧美国产日韩在线观看| 青椒成人免费视频| 色狠狠综合天天综合综合| 久久久天堂av| 另类欧美日韩国产在线| 欧美在线观看视频在线| 国产精品免费视频一区| 老司机精品视频在线| 欧美视频你懂的| 综合久久久久久久| 国产精品一级在线| 欧美成人国产一区二区| 亚洲高清免费在线| 欧美伊人久久久久久午夜久久久久| 久久精品网站免费观看| 免费观看一级欧美片| 欧美日韩亚洲丝袜制服| 亚洲欧美精品午睡沙发| www.欧美亚洲| 中文字幕精品在线不卡| 国产成人亚洲综合a∨婷婷| 日韩欧美一级特黄在线播放| 日韩国产精品久久| 7777精品伊人久久久大香线蕉的 | 欧美极品xxx| 国产精品一区二区三区99| 欧美一级在线视频| 五月综合激情婷婷六月色窝| 欧美网站一区二区| 亚洲午夜私人影院| 欧美精品精品一区| 日本女人一区二区三区| 日韩免费看的电影| 精品一区二区综合|