討論區快速選單
知識庫快速選單
將BI融合到Excel資料分析中 網路投保旅行平安險
[ 回上頁 ] [ 討論區發言規則 ]
請問 VB與C程式的溝通
更改我的閱讀文章字型大小
作者 : pig320pig320(小倫)
[ 貼文 1 | 人氣 0 | 評價 0 | 評價/貼文 0 | 送出評價 0 次 ] 
[ 給個讚 ]  [ 給個讚 ]  [ 回應本文 ]  [ 發表新文 ]  [ 回上頁 ] [ 回討論區列表 ] [ 回知識入口 ]
2012/6/12 下午 07:33:33
請問 這是老師所給的範例程式,請問有大大能夠指導嗎?
Option Strict Off
Option Explicit On
Public Class Form1
    Inherits System.Windows.Forms.Form
    Private Declare Function timeGetTime Lib "winmm.dll" () As Integer
    Private Declare Sub Sleep Lib "kernel32" (ByVal dwMilliseconds As Integer)
    '**********************************************************************
    '常數
    '**********************************************************************
    Const DEFAULT_MSCOMM1_PORT As Byte = 3 '預設ComboBox1控制項顯示COM3
    Const DEFAULT_MSCOMM1_SETTINGS As String = "9600,n,8,1" '96000,n,8,1
    '**********************************************************************
    'MSCOMM1全域變數
    '**********************************************************************
    Dim MSComm1_State As Byte '判斷是否打開MSCOMM
    Dim MSComm1_PortNumber As Byte '儲存欲打開的COM埠
    Dim InByte() As Byte 'MSCOMM存放來自MCU傳送資料的資料緩衝區
    Dim Msg_Buffer As String '顯示於msg.text文字
    Dim OutByte() As Byte
    Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
     '======================================================================
     'Command1控制項
     '======================================================================
     If MSComm1_State = 0 Then
     AxMSComm1.PortOpen = False
     AxMSComm1.InBufferCount = 0
     MSComm1_State = 1
     Button1.Text = "COMOpen"

     ElseIf MSComm1_State = 1 Then
     MSComm1_PortNumber = ComboBox1.SelectedIndex + 1 '
     AxMSComm1.CommPort = MSComm1_PortNumber '判斷使用者欲開啟COM埠數
     AxMSComm1.Settings = DEFAULT_MSCOMM1_SETTINGS '設定COM參數(鮑率,起始位元,資料長度,終止位元)

     AxMSComm1.PortOpen = True '打開COM
     MSComm1_State = 0
     Button1.Text = "COMClose"
     End If
    End Sub

    Private Sub Form1_Load(ByVal eventSender As System.Object, ByVal eventArgs As System.EventArgs) Handles MyBase.Load
     MSComm1_State = 1
     ComboBox1.Items.Add("COM1")
     ComboBox1.Items.Add("COM2")
     ComboBox1.Items.Add("COM3")
     ComboBox1.Items.Add("COM4")
     ComboBox1.Items.Add("COM5")
     ComboBox1.Items.Add("COM10")
     ComboBox1.SelectedIndex = (DEFAULT_MSCOMM1_PORT - 1) '換算成ComboBox1控制項COM埠數
     MSComm1_PortNumber = ComboBox1.SelectedIndex + 1 'COM埠數
    End Sub

    Private Sub AxMSComm1_OnComm(ByVal eventSender As System.Object, ByVal eventArgs As System.EventArgs) Handles AxMSComm1.OnComm
     Dim iDataBytes As Short
     Dim iwait As Byte
     Dim lMsg_Buffer As String
     Dim iLoop As Short
     Select Case AxMSComm1.CommEvent
     Case MSCommLib.OnCommConstants.comEvReceive
     iDataBytes = AxMSComm1.InBufferCount
     Do '緩衝機制
     iDataBytes = AxMSComm1.InBufferCount
     Sleep((5))
     If iDataBytes < AxMSComm1.InBufferCount Then
     iwait = 0
     Else
     iwait = iwait + 1
     End If
     Loop Until iwait = 5
     InByte = AxMSComm1.Input '收下完整封包內容
     For iLoop = LBound(InByte) To UBound(InByte) '顯示封包內容
     lMsg_Buffer = lMsg_Buffer & Trim(Str(InByte(iLoop))) & "--"
     Next iLoop
     TextBox1.Text = lMsg_Buffer & vbCrLf
     End Select
    End Sub

    Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click
     ReDim OutByte(0)
     OutByte(0) = &H80
     AxMSComm1.Output = OutByte
    End Sub
    Private Sub Button3_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button3.Click
     ReDim OutByte(0)
     OutByte(0) = &H90
     AxMSComm1.Output = OutByte
    End Sub

    Private Sub Clear_MSCOMM()
     Dim iLoop As Short
     For iLoop = LBound(InByte) To UBound(InByte)
     InByte(iLoop) = 0
     Next iLoop
     AxMSComm1.InBufferCount = 0 '清空MSCOMM的接收資料緩衝區
     AxMSComm1.InputLen = 0
    End Sub
End Class
 板主 : 徵求中
 > Microsoft Visual Studio 2008 - 討論區
 - 最近熱門問答精華集
 - 全部歷史問答精華集
 - Microsoft Visual Studio 2008 - 知識庫
  ■ 全站最新Post列表
  ■ 我的文章收藏
  ■ 我最愛的作者
  ■ 全站文章收藏排行榜
  ■ 全站最愛作者排行榜
  ■  月熱門主題
  ■  季熱門主題
  ■  熱門主題Top 20
  ■  本區Post排行榜
  ■  本區評價排行榜
  ■  全站專家名人榜
  ■  全站Post排行榜
  ■  全站評價排行榜
  ■  全站人氣排行榜
 請輸入關鍵字 
  開始搜尋
 
Top 10
評價排行
Microsoft Visual Studio 2008
1 joe 270 
2 Raymond 90 
3 marlon 70 
4 丹尼爾 50 
5 好說 50 
6 smfy 50 
7 小誠 20 
8 愛睏魚 20 
9 水瓶天賞 20 
10 ozzy 10 
Microsoft Visual Studio 2008
  專家等級 評價  
  一代宗師 10000  
  曠世奇才 5000  
  頂尖高手 3000  
  卓越專家 1500  
  優秀好手 750  
Microsoft Internet Explorer 6.0. Screen 1024x768 pixel. High Color (16 bit).
2000-2018 程式設計俱樂部 http://www.programmer-club.com.tw/
0.03125