C# 開發Windows上位機WPF過程 (單片機串口設參)

        說到設備的通用性,就要講到設備的參數開放出來給用戶設置。這點上毋庸置疑是一件好事,於是之前一直都是通過網上的串口軟件類似於SSCOM這種來把要設置的東西放在列表裏面,交給生產或者營銷,讓他們按順序點就可以了。但是一旦涉及到要改序列號,或者有賬號密碼之類的設置就會出問題,老是要電聯我們。因此也不敢把太多的參數開放,改錯了,不知道改哪裏的問題很嚴重。

        於是就想到做一個上位機的程序,打聽了一下,都說C#開發Windows程序開發效率逆天。(首先你得有一門語言的基礎,有面向對象語言的基礎更快,我這邊是C)抱着試一試的態度,買了本書看了一下,就開始了,大致看書一週,寫了一週,調試一週,寫了一個差不多能用的。差不多找本銷量高的入門書:

        先看了下C#的語法和一些注意事項;大致就是面嚮對象語言的類型,沒有指針,巴拉巴拉;看完了語法之後,之後的一些先不急,用到了再看;因爲直接接下去看XAML界面屬性什麼的,不實際操作很難理解;git找了幾個demo程序,就是隻有一個串口輸入輸出的demo;其實打開工程看了一下,找個界面還算簡約的就在這上面後續開發了。

       開發的話其實大致就是面向搜索器編程,因爲C#的.NET庫的API少說也有好幾萬或者什麼屬性什麼的光看書也不可能找得到,再說我們要快速開發。大致用到的點有:

1.button,textbox,textblock,StackPanel等控件的屬性和事件;

2.try...catch...finally的異常處理結構;

3.串口IO的庫的瞭解使用,數據收發;

4.子窗口的處理;

5.文件流的讀取和寫入操作;

6.剩下的就是業務相關的,串口數據的格式規定,輸入限制等等;

       接下來就是和單片機進行聯調界面的提示信息和一些操作的修改。最終完成效果如下:

項目開源,源代碼鏈接(僅供大家參考,其實你拿去了沒有模塊也沒用):https://dev.tencent.com/u/JetLinCode/p/WinSeriralAPP/git

後面又有開發新的上位機,發現這個在串口輸入中斷事件裏做了很多事情,不大好(雖然說windows之類的都是有input緩存也無傷大雅),最好新開一個線程或者定時器線程處理接受到的數據。

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