⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 irqfunc.bas

📁 Rs232串口通信专题范例,Vusual Basic,Mscomm,PCOMMPRO
💻 BAS
字号:
Attribute VB_Name = "IrqFunc"
Option Explicit
''''''''''''''''''''''''''''''''''''''''''''
'Count的中断副程式
'当设定的位元组数到达时,引发此函式的执行
'此函式会将结果显示在接收区中
'此函式里面不可设定中断点,否则会崩溃
''''''''''''''''''''''''''''''''''''''''''''
Public Sub CntIrq(ByVal Port As Long)
    Dim rlen&, i&
    Dim buf(0 To 511) As Byte
   rlen = sio_read(Port, buf(0), 512)
  If rlen = 0 Then Exit Sub
  For i = 0 To rlen - 1
    Form1.txtReceive.Text = Form1.txtReceive.Text + CStr(buf(i)) + vbCrLf
  Next
End Sub

''''''''''''''''''''''''''''''''''''''''''''
'硬体状态的中断副程式
'当设定的状态改变时,引发此函式的执行
'此函式会将结果显示在Shape物件中
'此函式里面不可设定中断点,否则会崩溃
''''''''''''''''''''''''''''''''''''''''''''
Public Sub ModemIrq(ByVal Port As Long)
  Dim ret%
  ret = sio_lstatus(Port)   '读取状态
  If ret < 0 Then
        MsgBox "状态错误", vbCritical + vbOKOnly, "系统警告"
  Else
      If (ret And S_DSR) > 0 Then
        Form1.spDSR.FillColor = RGB(255, 0, 0)
      Else
       Form1.spDSR.FillColor = RGB(0, 0, 0)
      End If
      If (ret And S_CD) > 0 Then
        Form1.spCD.FillColor = RGB(255, 0, 0)
      Else
       Form1.spCD.FillColor = RGB(0, 0, 0)
      End If
      If (ret And S_RI) > 0 Then
        Form1.spRI.FillColor = RGB(255, 0, 0)
      Else
        Form1.spRI.FillColor = RGB(0, 0, 0)
      End If
      If (ret And S_CTS) > 0 Then
        Form1.spCTS.FillColor = RGB(255, 0, 0)
      Else
       Form1.spCTS.FillColor = RGB(0, 0, 0)
      End If
    End If
  
End Sub






⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -