新聞中心

        EEPW首頁 > 測試測量 > 設計應用 > LabVIEW串口通信的一個例子-串口“示波器“

        LabVIEW串口通信的一個例子-串口“示波器“

        作者: 時間:2016-12-27 來源:網絡 收藏
        很早就想做一個類似的東西了,正好這學期學了LabVIEW,作業就交了這個,基于LabVIEW的“串口示波器”上位機。

        1.程序界面:

        本文引用地址:http://www.104case.com/article/201612/334172.htm

        功能介紹:左邊上方串口接收區,下方為串口字符發送區。右方為一個波形圖表,在程序內部每次將串口發送過來的數據,以f%格式化,顯示在波形圖表上。
        按鈕介紹:從左至右依次,發送按鈕;清除計數按鈕;打開/關閉串口按鈕;清除接收區數據;清除波形圖表;保存波形;退出程序。

        2.主程序框圖

        主程序框圖介紹:主程序框圖主要由3個狀態組成:程序的初始化,程序事件的響應,程序的退出。

        狀態Init:程序初始化,主要把OpenCom等按鈕,串口狀態,串口接收字符串,波形圖標,TX/RX計數等控件,置為False或清零。初始化狀態只執行一次,接下來就進入狀態Event。

        狀態Event:程序事件響應,由一個事件結構構成,共需響應8個事件:Open/CloseCom按鈕事件;串口號或波特率改變事件;發送按鈕事件;清空計數按鈕事件;清空接收區按鈕事件;清空波形區按鈕事件;保存波形按鈕事件;菜單選擇事件;退出按鈕事件。如果在此狀態,按下退出按鈕,則進入狀態Exit,否則程序將一直運行在此狀態。

        狀態Exit:程序退出。退出前需關閉已打開的VISA句柄。

        3.串口接收程序框圖:

        串口接收程序框圖介紹:當串口狀態為真時,調用串口屬性節點”Bytes at Port”,如果串口緩沖區有X字節的數據就接收X字節的數據。最后,用一個狀態機來實現相鄰兩個字符串的判斷。如果串口在相鄰兩個字符串之間接收時間大于50ms,則判斷為兩個獨立的字符串;如果小于50ms,則自動拼接前后兩個字符串。



        評論


        技術專區

        關閉
        主站蜘蛛池模板: 东方市| 龙口市| 遂昌县| 湖州市| 慈利县| 昌邑市| 山阴县| SHOW| 东乡族自治县| 浦城县| 广南县| 舟曲县| 漠河县| 海丰县| 丘北县| 富宁县| 泽普县| 江城| 灵璧县| 建宁县| 宁波市| 横峰县| 浦东新区| 无棣县| 健康| 达州市| 宁波市| 桐庐县| 青铜峡市| 新化县| 天台县| 上思县| 林甸县| 南岸区| 东丽区| 勃利县| 广丰县| 西昌市| 武清区| 通河县| 惠安县|