亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? serport.bas

?? Serial Port Complete, Programming and Circuits for RS-232 and RS-485 Links and Networks
?? BAS
?? 第 1 頁 / 共 2 頁
字號:
Dim handle As Long
'The API call requires a CommID of an open port.
If frmMain.MSComm1.PortOpen = False Then
    frmMain.MSComm1.PortOpen = True
    ClosePortOnExit = True
Else
    ClosePortOnExit = False
End If
handle = frmMain.MSComm1.CommID
PortCount = GETMAXCOM
'Add 1 because EscapeCommFunction begins counting at 0.
fncGetHighestComPortNumber = _
    EscapeCommFunction(handle, PortCount) + 1
If ClosePortOnExit = True Then
    frmMain.MSComm1.PortOpen = False
End If
End Function

Public Function fncOneByteDelay(BitRate As Long) As Single
'Calculate the time in milliseconds to transmit
'8 bits + 1 Start & 1 Stop bit.
Dim DelayTime As Integer
DelayTime = 10000 / BitRate
fncOneByteDelay = DelayTime
End Function

Public Function fncVerifyChecksum(UserString As String) As Boolean
'Verifies data by comparing a received checksum
'to the calculated value.
'UserString is a series of bytes in Ascii Hex format,
'Ending in a checksum.
Dim Count As Integer
Dim Sum As Long
Dim Checksum As Byte
Dim ChecksumAsAsciiHex As String
'Add the values of each Ascii Hex pair:
For Count = 1 To Len(UserString) - 3 Step 2
    Sum = Sum + Val("&h" & Mid(UserString, Count, 2))
Next Count
'The checksum is the low byte of the sum.
Checksum = Sum - (CInt(Sum / 256)) * 256
ChecksumAsAsciiHex = fncByteToAsciiHex(Checksum)
'Compare the calculated checksum to the received checksum.
If Checksum = Val("&h" & (Right(UserString, 2))) Then
    fncVerifyChecksum = True
Else
    fncVerifyChecksum = False
End If
End Function

Public Sub Delay(DelayInMilliseconds As Single)
'Delay timer with approximately 1-msec. resolution.
'Uses the API function timeGetTime.
'Rolls over 24 days after the last Windows startup.
Dim Timeout As Single
Timeout = DelayInMilliseconds + timeGetTime()
Do Until timeGetTime() >= Timeout
    DoEvents
Loop
End Sub

Public Sub EditDCB()
'Enables changes to a port's DCB.
'The port must be open.
Dim Success As Boolean
Dim PortID As Long
PortID = frmMain.MSComm1.CommID
Success = apiGetCommState(PortID, CommDCB)

'To change a value, uncomment and revise the appropriate line:
'CommDCB.BaudRate = 2400
'CommDCB.Bits1 = &H11
'CommDCB.XonLim = 64
'CommDCB.XoffLim = 64
'CommDCB.ByteSize = 8
'CommDCB.Parity = 0
'CommDCB.StopBits = 0
'CommDCB.XonChar = &H12
'CommDCB.XoffChar = &H13
'CommDCB.ErrorChar = 0
'CommDCB.EofChar = &H1A
'CommDCB.EvtChar = 0

'Write the values to the DCB.
Success = apiSetCommState(PortID, CommDCB)

'Read the values back to verify changes.
Success = apiGetCommState(PortID, CommDCB)

Debug.Print "DCBlength: ", Hex$(CommDCB.DCBlength)
Debug.Print "BaudRate: ", CommDCB.BaudRate
Debug.Print "Bits1: ", Hex$(CommDCB.Bits1); "h"
Debug.Print "wReserved: ", Hex$(CommDCB.wReserved)
Debug.Print "XonLim: ", CommDCB.XonLim
Debug.Print "XoffLim: ", CommDCB.XoffLim
Debug.Print "ByteSize: ", CommDCB.ByteSize
Debug.Print "Parity: ", CommDCB.Parity
Debug.Print "StopBits: ", CommDCB.StopBits
Debug.Print "XonChar: ", Hex$(CommDCB.XonChar); "h"
Debug.Print "XoffChar: ", Hex$(CommDCB.XoffChar); "h"
Debug.Print "ErrorChar: ", Hex$(CommDCB.ErrorChar); "h"
Debug.Print "EofChar: ", Hex$(CommDCB.EofChar); "h"
Debug.Print "EvtChar: ", Hex$(CommDCB.EvtChar); "h"
Debug.Print "wReserved2: ", Hex$(CommDCB.wReserved2)

End Sub

Public Sub FindPorts()
'Find Comm ports by trying to open each.
'Each port must support the current settings (bit rate, etc.).
Dim Count As Integer
Dim NumberOfPorts As Integer
Dim SavedPortNumber As Integer
Dim SaveCurrentPort As Boolean
ReDim CommPorts(1 To 16)
On Error Resume Next
SaveCurrentPort = False
NumberOfPorts = 0
'If a port is already open, reopen it on exiting.
If frmMain.MSComm1.PortOpen = True Then
        frmMain.MSComm1.PortOpen = False
        SavedPortNumber = PortNumber
        SaveCurrentPort = True
End If
For Count = 1 To 16
    frmMain.MSComm1.CommPort = Count
    frmMain.MSComm1.PortOpen = True
    If Err.Number = 8005 Then
        'The port is already open
        'The port exists, so add it to the list.
        NumberOfPorts = NumberOfPorts + 1
        CommPorts(NumberOfPorts) = "COM" & CStr(Count)
    ElseIf frmMain.MSComm1.PortOpen = True Then
        'If the port opens, it exists.
        'Close it and add to the list.
        frmMain.MSComm1.PortOpen = False
        NumberOfPorts = NumberOfPorts + 1
        CommPorts(NumberOfPorts) = "COM" & CStr(Count)
    Err.Clear
    End If
Next Count
'Disable the error handler
On Error GoTo 0
ReDim Preserve CommPorts(1 To NumberOfPorts)
If SaveCurrentPort = True Then
    PortNumber = SavedPortNumber
    frmMain.MSComm1.CommPort = PortNumber
    frmMain.MSComm1.PortOpen = True
End If
End Sub

Public Sub GetNewSettings()
'Read and store user changes in the Setup menu.
BitRate = Val(frmPortSettings.cboBitRate.Text)
PortNumber = Val(Right(frmPortSettings.cboPort.Text, 1))
Call frmMain.fncInitializeComPort(BitRate, PortNumber)
End Sub

Public Sub GetSettings()
'Get user settings from last time.
BitRate = GetSetting(ProjectName, "Startup", "BitRate", 1200)
PortNumber = GetSetting(ProjectName, "Startup", "PortNumber", 1)
'Defaults in case values retrieved are invalid:
If BitRate < 300 Then BitRate = 9600
If PortNumber < 1 Then PortNumber = 1
End Sub

Sub ImmediateTransmit(ByteToSend As Byte)
'Places a byte at the top of the transmit buffer
'for immediate sending.
Dim Success As Boolean
Success = TransmitCommChar(frmMain.MSComm1.CommID, ByteToSend)
End Sub

Public Sub LowResDelay(DelayInMilliseconds As Single)
'Uses the system timer, with resolution of about 56 milliseconds.
Dim Timeout As Single
'Add the delay to the current time.
Timeout = Timer + DelayInMilliseconds / 1000
If Timeout > 86399 Then
    'If the end of the delay spans midnight,
    'subtract 24 hrs. from the Timeout count:
    Timeout = Timeout - 86399
    'and wait for midnight:
    Do Until Timer < 100
        DoEvents
    Loop
End If
'Wait for the Timeout count.
Do Until Timer >= Timeout
    DoEvents
Loop
End Sub

Public Sub SaveSettings()
'Save user settings for next time.
SaveSetting ProjectName, "Startup", "BitRate", BitRate
SaveSetting ProjectName, "Startup", "PortNumber", PortNumber
End Sub

Public Sub ShutDown()
'Close the port.
If frmMain.MSComm1.PortOpen = True Then
    frmMain.MSComm1.PortOpen = False
End If
Call SaveSettings
End Sub

Public Sub Startup()
Call GetSettings
PortOpen = frmMain.fncInitializeComPort(BitRate, PortNumber)
Call frmPortSettings.SetBitRateComboBox
Call frmPortSettings.SetPortComboBox
Call VbSetCommTimeouts(BitRate)
If ValidPort = False Then
    frmPortSettings.Show
Else
    frmPortSettings.Hide
End If
End Sub

Public Sub VbSetCommTimeouts(BitRate As Long)
'The default timeout for serial-port operations is 5 seconds.
'This routine sets the timeout so that
'the requested number of bytes can transmit or be read
'at the current bit rate.
'Uses the GetCommTimeouts and SetCommTimeouts API functions.
Dim Timeouts As COMMTIMEOUTS
Dim Success As Long
Dim OneByteTimeout As Long
Success = GetCommTimeouts(frmMain.MSComm1.CommID, Timeouts)
OneByteTimeout = CLng(fncOneByteDelay(BitRate))
If frmMain.MSComm1.PortOpen = True Then
    'All values are milliseconds
    'Maximum time between two received characters:
    Timeouts.ReadIntervalTimeout = OneByteTimeout
    'Maximum time for a character to arrive:
    Timeouts.ReadTotalTimoutMultiplier = OneByteTimeout
    'Provide enough time for the bytes to arrive + 1 second.
    Timeouts.ReadTotalTimeoutConstant = 1000
    'Maximum time for a character to transmit:
    Timeouts.WriteTotalTimeoutMultiplier = OneByteTimeout
    'Provide enough time for the bytes to transmit + 1 second.
    Timeouts.WriteTotalTimeoutConstant = 1000
    Success = SetCommTimeouts(frmMain.MSComm1.CommID, Timeouts)
End If
'For debugging/verifying:
'Success = GetCommTimeouts(frmMain.MSComm1.CommID, Timeouts)
'Debug.Print Timeouts.ReadIntervalTimeout
'Debug.Print Timeouts.ReadTotalTimoutMultiplier
'Debug.Print Timeouts.ReadTotalTimeoutConstant
'Debug.Print Timeouts.WriteTotalTimeoutMultiplier
'Debug.Print Timeouts.WriteTotalTimeoutConstant
End Sub

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
91在线看国产| 久久精品视频一区| 国产性做久久久久久| 亚洲激情一二三区| 国产伦精品一区二区三区视频青涩 | 亚洲高清久久久| 国产成人亚洲综合a∨婷婷| 欧美日精品一区视频| 国产精品丝袜一区| 国产精品资源在线| 91麻豆精品国产91久久久资源速度 | 91精品欧美福利在线观看| 亚洲婷婷综合色高清在线| 久久国产精品露脸对白| 欧美日韩日日夜夜| 亚洲精品日韩综合观看成人91| 国产很黄免费观看久久| 欧美v日韩v国产v| 日本成人在线一区| 欧美片网站yy| 天天综合网 天天综合色| 色一情一伦一子一伦一区| 中文字幕av在线一区二区三区| 精品一区二区免费在线观看| 欧美一级爆毛片| 日韩国产欧美在线视频| 欧美日韩三级在线| 偷偷要91色婷婷| 91精品国模一区二区三区| 亚洲国产视频网站| 欧美日韩国产综合视频在线观看| 亚洲视频资源在线| 99精品欧美一区二区三区小说| 中文一区二区完整视频在线观看| 国产毛片精品国产一区二区三区| 久久色.com| 国产精品一区二区视频| 国产精品青草综合久久久久99| 成人一区二区三区视频在线观看| 国产网站一区二区| 91在线国产观看| 亚洲综合男人的天堂| 欧美在线影院一区二区| 日韩中文字幕一区二区三区| 91精品一区二区三区久久久久久| 另类专区欧美蜜桃臀第一页| 久久久一区二区三区捆绑**| 成人免费va视频| 亚洲精品国产视频| 在线不卡一区二区| 国产一区二区三区精品视频| 欧美激情综合五月色丁香| 99久久精品一区二区| 亚洲h动漫在线| 亚洲精品在线观看网站| gogo大胆日本视频一区| 午夜激情一区二区| 国产日韩欧美一区二区三区综合| 成人黄色在线看| 午夜精品久久久久久不卡8050| 日韩视频永久免费| 97久久精品人人爽人人爽蜜臀| 一区二区三区视频在线观看| 欧美成人三级电影在线| 99久久99久久精品免费看蜜桃| 亚洲电影在线免费观看| 久久久久久久久久电影| 欧美亚洲国产一区二区三区 | 一区二区三区四区精品在线视频| 这里只有精品99re| 成人激情小说乱人伦| 亚洲成人在线观看视频| 国产日韩欧美a| 欧美男同性恋视频网站| 国产成人三级在线观看| 五月天激情综合网| 国产精品污网站| 日韩欧美一区二区免费| 91日韩精品一区| 国产美女精品在线| 日韩国产成人精品| 亚洲女人小视频在线观看| 精品毛片乱码1区2区3区| a级精品国产片在线观看| 加勒比av一区二区| 亚洲福利国产精品| 最新不卡av在线| 久久人人爽爽爽人久久久| 欧美日韩激情在线| 91在线免费看| 成人激情免费电影网址| 国产一区二区不卡在线| 热久久一区二区| 亚洲一区二区成人在线观看| 中文字幕av一区 二区| 欧美成人a在线| 4438成人网| 欧美日韩亚洲综合一区二区三区| fc2成人免费人成在线观看播放| 蜜桃一区二区三区在线观看| 午夜在线电影亚洲一区| 亚洲精品成人悠悠色影视| 国产精品久久久久婷婷二区次| 精品精品欲导航| 日韩一区二区在线观看| 91精品国产综合久久福利软件| 欧美亚洲国产一区二区三区va | 欧美一区二区三区爱爱| 欧洲一区在线观看| 日本韩国一区二区三区视频| 9人人澡人人爽人人精品| 成人精品gif动图一区| 成人一区在线看| 成人黄色综合网站| 成人av在线影院| 91视视频在线观看入口直接观看www | 秋霞av亚洲一区二区三| 日韩国产高清在线| 秋霞av亚洲一区二区三| 激情偷乱视频一区二区三区| 久久精品99国产精品日本| 麻豆精品久久久| 国产伦精品一区二区三区免费迷| 激情欧美一区二区| 国产精品一二三在| 成人av免费在线| 色嗨嗨av一区二区三区| 在线观看免费亚洲| 91麻豆精品国产91久久久| 日韩美女一区二区三区四区| 久久精品一区八戒影视| 中文字幕欧美一区| 夜夜嗨av一区二区三区网页| 亚洲成人高清在线| 美女视频黄 久久| 国产福利91精品一区二区三区| 国产福利一区二区三区在线视频| 成人毛片在线观看| 欧美揉bbbbb揉bbbbb| 精品国产乱码久久久久久夜甘婷婷| 精品国产网站在线观看| 日韩一区在线看| 日韩中文字幕一区二区三区| 国产精品一卡二卡在线观看| 色综合久久天天| 欧美一级日韩不卡播放免费| 国产午夜亚洲精品羞羞网站| 一区二区三区四区不卡视频 | 亚瑟在线精品视频| 国产综合色视频| 成人99免费视频| 欧美电影在线免费观看| 国产日韩av一区| 婷婷国产在线综合| 国产不卡高清在线观看视频| 欧美性大战xxxxx久久久| 久久久久国产精品免费免费搜索| 日韩理论片在线| 九九国产精品视频| 在线免费精品视频| 国产日韩影视精品| 日韩中文字幕区一区有砖一区 | 国产一区二区三区免费播放| 91黄视频在线| 欧美国产一区视频在线观看| 五月激情综合婷婷| 色婷婷综合久久久中文字幕| 2欧美一区二区三区在线观看视频 337p粉嫩大胆噜噜噜噜噜91av | 国产精品污网站| 精品一区二区三区欧美| 在线观看日韩国产| 国产精品不卡一区| 久久国产免费看| 欧美精选午夜久久久乱码6080| 国产精品国产三级国产普通话蜜臀 | 粉嫩av亚洲一区二区图片| 欧美日韩国产首页在线观看| 亚洲欧洲无码一区二区三区| 久久99精品久久久久久| 欧美精品日日鲁夜夜添| 一区二区三区四区av| 国产成人在线视频免费播放| 欧美高清hd18日本| 亚洲国产中文字幕在线视频综合| 国产69精品久久99不卡| 精品国产a毛片| 韩国av一区二区三区四区| 日韩欧美综合一区| 天天综合天天做天天综合| 欧美无砖专区一中文字| 亚洲黄一区二区三区| 色婷婷av一区二区三区gif| 国产精品高潮呻吟久久| 成av人片一区二区| 中文字幕成人av| 国产又黄又大久久| 国产色产综合色产在线视频| 国产曰批免费观看久久久| 精品少妇一区二区三区在线播放| 蜜桃av噜噜一区二区三区小说|