雖然在大學的時候學的是計算機專業,但現在的本科生的計算機水平我想大家心里都有數。到單位后閑了很長一段時間。但后來就慢慢開始有了些項目,一開始就是有關串口通信的。難度大了點,但我在的地方是一個不可以輕易說“不”的地方,只好硬著頭皮開始干了,為了與時俱進我選擇了vs.net2003雖然事實證明成熟的通信協議用成熟的語言(vc6,vb6)可能效果更好些.但為了和新一代編程語言更好的接觸。
說起串口通信,無非是create file開串口,write file向串口寫數據,read file從串口讀數據。再結合具體設備的相關數據格式就可以編程了。我建立的是vc.net,windows窗體工程。于是麻煩就開始出現了。在.net的窗體工程里我很喜歡像在vb里編程那樣,直接雙擊按鈕之類的控件,然后在form1.h里直接寫程序,能不用函數的就不用函數。很快,createfile函數無法識別,但在編程窗口里系統能認識并給出相應的函數參數提示。
查msdn發現需要#include,雖然form1.cpp里有,但也只有在form1.h里再include一遍了,結果就是命名空間里的有些東西出現錯誤無法使用了,雖然麻煩些,但還是把函數寫在.cpp文件里吧!然后,有些串口設備會自帶一些實現本身功能的.dll,不用說了,又不能用,尤其是用c/c++寫的,尤其是底層的數據格式和數組,vb的模塊兼容性好些,可以用vb.net二次封裝一下。對串口本身的操作并不復雜,但問題是連接迎硬件后需要花費大量的心思去面對保護的問題,硬件不會完全按照說明書那樣去工作的!
新聞熱點
疑難解答
圖片精選