新聞中心

        EEPW首頁 > 消費電子 > 設計應用 > 新型交互式射擊游藝控制系統設計與實現

        新型交互式射擊游藝控制系統設計與實現

        作者:盧滿懷* 電子科技大學中山學院 時間:2009-04-14 來源:電子產品世界 收藏

          創建服務器應用程序時,就應相應設置一個偵聽端口(LocalPort屬性)并調用Listen方法。當客戶機需要連接時(connect),就會發生ConnectionRequest事件。由于系統有多個客戶端,因此要動態管理客戶端的各個連接請求,參考如下程序設計:

          Private sub sckserver_connectrequest(Index as Integer,Byval requestid as long)
          dim sip as string
          dim I as integer
          sip=sckserver(0).RemoteHostIP '獲得登錄者的IP地址
          I=1
          Do while I<=sckserver.ubound '檢查是否已經有該地址的記錄
          If sckserver(I).RemoteHostIP=sip then '如有,不必加載新的控件
          Sckserver(I).Accept requestid
          Exit sub
          End if
          I=I+1
          Loop
          Load sckserver(I) '否則,加載新的控件
          Scksrver(I).accept requestID
          End sub

          為了完成連接,在ConnectionRequest事件中調用Accept方法。建立連接后,任何一方計算機都可以發送、接收對方數據。發送數據時,需調用SendData方法。當接收到數據時,會發生DataArrival事件,調用DataArrival事件中的GetData方法就可以獲得對方傳送的數據。

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

          基于MSComm的串口通信程序設計

          MSComm通信控件提供了一系列標準通信命令的接口,它允許建立串口連接,可以連接到其他通信設備、還可以發送命令、進行數據交換以及監視和響應在通信過程中可能發生的各種錯誤和事件,從而可以用它創建全雙工的、事件驅動的、高效實用的通信程序。

          在程序加載過程中,由于可能存在無線和CAN兩種通信方式,所以在Form_Load事件中要進行初始化處理,參考以下程序:

        主控制器初始化程序
        For i = 0 To Comm_Port_Num - 1
            If CommSetups(i).commType = "CAN" Then
                MSComm1.CommPort =CInt(Mid(Trim(CommSetups(i).commID), 4))
                If MSComm1.PortOpen Then MSComm1.PortOpen = False
                MSComm1.Settings = Trim(CommSetups(i).commSetting)
                MSComm1.PortOpen = True            '打開串行口
                Text1.Text = "CAN通信端口初始化成功" & vbCrLf
                Exit For
            End If
        Next i
        ‘nRF905射頻主控制器初始化程序
        For i = 0 To Comm_Port_Num - 1
            If CommSetups(i).commType = "COM" Then
                MSComm1.CommPort =CInt(Mid(Trim(CommSetups(i).commID), 4))
                If MSComm1.PortOpen Then MSComm1.PortOpen = False
                MSComm1.Settings = Trim(CommSetups(i).commSetting)
                MSComm1.PortOpen = True            '打開串行口
                Text1.Text = "nRF905端口初始化成功" & vbCrLf
                Exit For
            End If
        Next i

          在數據接收過程中,MSComm提供了兩種處理通信問題的方法,一是事件驅動方法,一是查詢法。本系統采用事件驅動方法,當有新字符到達或端口狀態改變,或發生錯誤時,MSComm控件將觸發OnComm事件,而應用程序在捕獲該事件后,通過檢查MSComm控件的CommEvent屬性可以獲知所發生的事件或錯誤,從而采取相應的操作。

        矢量控制相關文章:矢量控制原理


        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 抚远县| 全州县| 昭通市| 乾安县| 永登县| 洛阳市| 博乐市| 沙坪坝区| 安图县| 织金县| 高雄市| 行唐县| 衡水市| 大宁县| 抚顺县| 任丘市| 平安县| 吉隆县| 蓬安县| 宁南县| 郸城县| 长岭县| 静宁县| 和平县| 卢湾区| 格尔木市| 安泽县| 九寨沟县| 鸡西市| 红河县| 西乌珠穆沁旗| 江阴市| 大荔县| 太仆寺旗| 雅安市| 麻栗坡县| 永和县| 太谷县| 克什克腾旗| 洪江市| 丁青县|