VC++ MFC MSCOMM VS2010 手把手學會串口收發 含例程

    老習慣,例程鏈接放在評論一樓。

    大部分情況下(畢設,實驗室常用設備或傳感器的上位機編程,工廠打碼機/噴碼機上位機編程,自己學習做串口助手的demo,等等90%情況),用到的都是佔用一個端口的異步通訊。而這類工作用MSCOMM控件可以很方便的實現,並且在VS下面可以自己做一些定製的工作。

    而不少做這類工程的,都不是計算機科班,所以有一份好的教程和跑得通,並且邏輯清楚的完整源碼,可以節約大把的時間。

    以下基於學習網上的一份比較詳細,但是沒有源碼的教程,的學習練手之作,原文的代碼有些錯漏之處,不同版本的VS用法也有區別,也一併補齊,希望能方便初學者更快的入門。

    源碼中有把該份教程一起打包,所以基本操作在正文中不再贅述,只是把流程理一理。

    基本流程是,1)新建工程(對話框);2)添加配置對話框(Dialog),添加各種控件來把界面搭起來(Static,EditControl,ComboBox,Button);3)針對配置對話框,新建CSconfig類;這個不是必須,也可以在新建Dialog的裏面實現,不過單獨建一個類邏輯更清楚一點。4)添加變量,消息和函數,這個大部分工作都可以在類嚮導裏面完成。這個寫起來很長,操作可以看教程,實現可以看代碼。5)與串口配置(OnConfig)和收發(OnCommMscomm)相關的有兩點,一是,串口屬於獨佔資源,如果未釋放無法被重用,記得先關閉現有的端口,再打開新的端口,GetPortOpen(),SetCommPort(),SetPortOpen()的使用順序;二是接受發送數據實際是處理GetCommEvent方法,如果要自己觸發發送,那麼要自己實現(參考例程中Onsendbtn());6)注意事項:初始化參數不要自定義,因爲在DoDataExchange裏面,有把類對象和IDC的編號掛鉤,有把變量和控件屬性掛鉤,並用MFC自己的機制輔助更新,如果重複定義會造成編譯時assert失敗。

    參考代碼時候,請先自行梳理,資源(控件)有哪些,類有哪些,資源和類之間通過哪些變量關聯(包括MFC輔助定義的),自己實現或者重載的方法有哪些?

    例程只實現了基本的收發,而以上這些框架都想清楚了,就可以自己發揮,加入一些額外的功能。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章