// serialdlg.cpp : 實現檔案
//#include "stdafx.h"
#include "serial.h"
#include "serialdlg.h"
#include "afxdialogex.h"
#include "io.h"
#include "windows.h"
#ifdef _debug
#define new debug_new
#endif
// 用於應用程式「關於」選單項的 caboutdlg 對話方塊
handle hcom;
class caboutdlg : public cdialogex
; protected:
virtual void dodataexchange(cdataexchange* pdx); // ddx/ddv 支援
// 實現
protected:
declare_message_map()
};caboutdlg::caboutdlg() : cdialogex(caboutdlg::idd)
void caboutdlg::dodataexchange(cdataexchange* pdx)
begin_message_map(caboutdlg, cdialogex)
end_message_map()
// cserialdlg 對話方塊
cserialdlg::cserialdlg(cwnd* pparent /*=null*/)
: cdialogex(cserialdlg::idd, pparent)
void cserialdlg::dodataexchange(cdataexchange* pdx)
begin_message_map(cserialdlg, cdialogex)
on_wm_syscommand()
on_wm_paint()
on_wm_querydragicon()
on_cbn_selchange(idc_combo1, &cserialdlg::oncbnselchangecombo1)
on_bn_clicked(idc_button2, &cserialdlg::onbnclickedbutton2)
on_bn_clicked(idc_button1, &cserialdlg::onbnclickedbutton1)
on_bn_clicked(idc_button3, &cserialdlg::onbnclickedbutton3)
on_wm_close()
end_message_map()
// cserialdlg 訊息處理程式
bool cserialdlg::oninitdialog()
} // 設定此對話方塊的圖示。當應用程式主視窗不是對話方塊時,框架將自動
// 執行此操作
seticon(m_hicon, true); // 設定大圖示
seticon(m_hicon, false); // 設定小圖示
// todo: 在此新增額外的初始化**
// handle hcomm;
/* hcomm=createfile("com1", //串口號
generic_read|generic_write, //允許讀寫
0, //通訊裝置必須以獨佔方式開啟
null, //無安全屬性
open_existing, //通訊裝置已存在
0); //通訊裝置不能用模板開啟
*/ if(hcom==(handle)-1)
messagebox(_t("開啟com成功!"));
setupcomm(hcom,100,100);//輸入緩衝區和輸出緩衝區的大小都是100
commtimeouts timeouts;
//設定讀超時
timeouts.readintervaltimeout=maxdword;
timeouts.readtotaltimeoutmultiplier=0;
timeouts.readtotaltimeoutconstant=0;
//在讀一次輸入緩衝區的內容後讀操作就立即返回,
//而不管是否讀入了要求的字元.
//設定寫超時
timeouts.writetotaltimeoutmultiplier=100;
timeouts.writetotaltimeoutconstant=500;
setcommtimeouts(hcom,&timeouts);//設定超時
dcb dcb;
getcommstate(hcom,&dcb);
dcb.baudrate=9600;//波特率為9600
dcb.bytesize=8;//每個位元組有8 位
dcb.parity=noparity;//無奇偶校驗位
乙個停止位
dcb.stopbits=1;//乙個停止位
setcommstate(hcom,&dcb);
purgecomm(hcom,purge_txclear|purge_rxclear);
return true; // 除非將焦點設定到控制項,否則返回 true
}void cserialdlg::onsyscommand(uint nid, lparam lparam)
else }
// 如果向對話方塊新增最小化按鈕,則需要下面的**
// 來繪製該圖示。對於使用文件/檢視模型的 mfc 應用程式,
// 這將由框架自動完成。
void cserialdlg::onpaint()
else }
//當使用者拖動最小化視窗時系統呼叫此函式取得游標
//顯示。
hcursor cserialdlg::onquerydragicon()
void cserialdlg::oncbnselchangecombo1()
void cserialdlg::onbnclickedbutton2()//開啟關閉串列埠
return ture;*/
/* if(hcom==(handle)-1)
return true;*/
}void cserialdlg::onbnclickedbutton1()//傳送資料 }}
void cserialdlg::onbnclickedbutton3()//接收資料
} purgecomm(hcom,purge_txabort|
purge_rxabort|purge_txclear|purge_rxclear);
//如果選擇了"十六進製制顯示",則顯示十六進製制值
// cstring str;
// if(m_ctrlhexreceieve.getcheck())
// str.format("%02x ",ch);
// else
// str.format("%c",ch);
// strncpy(ch, str, 100);
// (l"%c", bt);
// memcpy(ch, str, 100);
// sprintf(ch, "%c",str);
ch.format("%s\n",str);
m_receive=ch;
updatedata(false);
}void cserialdlg::onclose()
使用VS2010編譯OpenSSL原始碼
2,安裝visual studio 2010 確認選中 x64編譯器和工具 3,安裝activeperl 5,拷貝nsam.exe和ndisam.exe至d program files x86 microsoft visual studio 10.0 vc bin 目錄 6,開啟visual stu...
Vs2010學習筆記 5
新學習 客戶端開發變的更容易 新的ajax tamplate control client seo roting url 更整潔精幹為seo提供支援 控制項本身設定viewstate 頁面關閉viewstate內容。區域性使用viewstate 感覺很雞肋,沒有解決實際問題 demo 新projec...
在VS2010中應用SIFT(C)原始碼
ps 很久沒做cv的事情了,這是很早以前剛入門時候的一篇,以後再有cv相關工作會發布在新的個人站點 cv分類下。update 2013 03 17 15 29 from freedomshe sift的實現有很多版本,具體方式都是那麼幾個,找個好用的不太容易,因為對於 不熟練者各種版本用起來都有點水...