基于VS2015的串口開發(fā)
點(diǎn)擊上方藍(lán)字關(guān)注我哦~
最近筆者要要實(shí)現(xiàn)win10下的一個(gè)串口工具,要想多少年前開發(fā)的串口工具還是vc++6.0下開發(fā)的,把之前vc++6.0的工程轉(zhuǎn)換到VS2015下,報(bào)出各種問題,這些問題就不呈現(xiàn)給大家看了,總之都是心酸淚,既然之前的工程不能用,那就重新來吧,首先想到了Mscomm控件。下面把它的步驟簡要說明下:
MFC添加串口Mscomm控件
1.下載mscomm.ocx控件
2.把mscomm.ocx放到c:\Windows\SysWOW64,需要管理員身份
3.用管理員身份打開命令提示符,輸入:
regsvr32 c:\Windows\SysWOW64\mscomm32.ocx
然后提示
DLLRegisterServer in C:\WINDOWS\SysWOW64\mscomm32.ocx succeeded
就可以使用需要這個(gè)控件的程序了!
4.添加串口變量
對(duì)話框上右鍵 插入Active X控件,選擇 Micsrosft Commuunication Control,version 6.0 ,之后界面上有一個(gè)類似于電話的控件圖標(biāo),把ID號(hào)改為 IDC_MSCOMM,右鍵這個(gè)控件 添加變量,命名為m_mscomm,(此時(shí)會(huì)新建mscomm的頭文件和源文件)。
到這一步基本就成功了,但是這里有個(gè)坑,有個(gè)坑,有個(gè)坑,坑的我要砸電腦,如果你編譯的是32位應(yīng)用,這個(gè)沒問題,如果是64位系統(tǒng),那恭喜你中招了,這個(gè)控件它在64位應(yīng)用上用不了。而筆者恰恰編譯的是64位應(yīng)用的,哎,又是一把心酸淚。
怎么辦,難道就這么放棄了嗎?如果放棄了,那還算碼農(nóng)嗎?
我回想到vc++6.0工程下的CSerialPort類,不管三七二十一,先把它們拷貝過來用起來,已編譯,好多錯(cuò)誤,不過仔細(xì)一看,還好不是致命的錯(cuò)誤,小小改動(dòng)下。
改成下面圖中的代碼就可以,類似的還有幾處,照著改就可以了。
改好了,激動(dòng)人心的時(shí)刻到了!編譯OK了!
下面的工作就比較好展開了。
1.根據(jù)CSerialPort類中WM_COMM_RXCHAR建立一個(gè)消息出來函數(shù),用于接收串口數(shù)據(jù)。
2.設(shè)置串口的串口號(hào)、波特率、停止位、校驗(yàn)位
經(jīng)過這兩步,串口開發(fā)基本OK了,如果你感興趣,聯(lián)系我們,將把我改好的CSerialPort類分享給你。
/ The End /
本文系嵌入式案例Show原創(chuàng)出品,作者:小碼哥。未經(jīng)許可,請勿轉(zhuǎn)載。
掃碼關(guān)注我們
看更多嵌入式案例
喜歡本篇內(nèi)容請給我們點(diǎn)個(gè)在看
免責(zé)聲明:本文內(nèi)容由21ic獲得授權(quán)后發(fā)布,版權(quán)歸原作者所有,本平臺(tái)僅提供信息存儲(chǔ)服務(wù)。文章僅代表作者個(gè)人觀點(diǎn),不代表本平臺(tái)立場,如有問題,請聯(lián)系我們,謝謝!