最近筆者要要實(shí)現(xiàn)win10下的一個(gè)串口工具,要想多少年前開(kāi)發(fā)的串口工具還是vc++6.0下開(kāi)發(fā)的,把之前vc++6.0的工程轉(zhuǎn)換到VS2015下,報(bào)出各種問(wèn)題,這些問(wèn)題就不呈現(xiàn)給大家看了,總之都是心酸淚,既然之前的工程不能用,那就重新來(lái)吧,首先想到了Mscomm控件。下面把它的步驟簡(jiǎn)要說(shuō)明下:
MFC添加串口Mscomm控件
1.下載mscomm.ocx控件
2.把mscomm.ocx放到c:WindowsSysWOW64,需要管理員身份
3.用管理員身份打開(kāi)命令提示符,輸入:
regsvr32 c:WindowsSysWOW64mscomm32.ocx
然后提示
DLLRegisterServer in C:WINDOWSSysWOW64mscomm32.ocx succeeded
就可以使用需要這個(gè)控件的程序了!
4.添加串口變量
對(duì)話(huà)框上右鍵 插入Active X控件,選擇 Micsrosft Commuunication Control,version 6.0 ,之后界面上有一個(gè)類(lèi)似于電話(huà)的控件圖標(biāo),把ID號(hào)改為 IDC_MSCOMM,右鍵這個(gè)控件 添加變量,命名為m_mscomm,(此時(shí)會(huì)新建mscomm的頭文件和源文件)。
到這一步基本就成功了,但是這里有個(gè)坑,有個(gè)坑,有個(gè)坑,坑的我要砸電腦,如果你編譯的是32位應(yīng)用,這個(gè)沒(méi)問(wèn)題,如果是64位系統(tǒng),那恭喜你中招了,這個(gè)控件它在64位應(yīng)用上用不了。而筆者恰恰編譯的是64位應(yīng)用的,哎,又是一把心酸淚。
怎么辦,難道就這么放棄了嗎?如果放棄了,那還算碼農(nóng)嗎?
我回想到vc++6.0工程下的CSerialPort類(lèi),不管三七二十一,先把它們拷貝過(guò)來(lái)用起來(lái),已編譯,好多錯(cuò)誤,不過(guò)仔細(xì)一看,還好不是致命的錯(cuò)誤,小小改動(dòng)下。
改成下面圖中的代碼就可以,類(lèi)似的還有幾處,照著改就可以了。
改好了,激動(dòng)人心的時(shí)刻到了!編譯OK了!
下面的工作就比較好展開(kāi)了。
1.根據(jù)CSerialPort類(lèi)中WM_COMM_RXCHAR建立一個(gè)消息出來(lái)函數(shù),用于接收串口數(shù)據(jù)。
2.設(shè)置串口的串口號(hào)、波特率、停止位、校驗(yàn)位
經(jīng)過(guò)這兩步,串口開(kāi)發(fā)基本OK了,如果你感興趣,聯(lián)系我們,將把我改好的CSerialPort類(lèi)分享給你。
原文標(biāo)題:基于VS2015的串口開(kāi)發(fā)
文章出處:【微信公眾號(hào):FPGA之家】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。
責(zé)任編輯:haq
-
操作系統(tǒng)
+關(guān)注
關(guān)注
37文章
6892瀏覽量
123742 -
串口
+關(guān)注
關(guān)注
14文章
1557瀏覽量
77039
原文標(biāo)題:基于VS2015的串口開(kāi)發(fā)
文章出處:【微信號(hào):zhuyandz,微信公眾號(hào):FPGA之家】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
評(píng)論