CommAPI Examples: Difference between revisions
Jump to navigation
Jump to search
(first example) |
(second example) |
||
Line 17: | Line 17: | ||
Func Example() | Func Example() | ||
Local Const $iPort = | Local Const $iPort = 1 | ||
Local Const $iBaud = 9600 | Local Const $iBaud = 9600 | ||
Local Const $iParity = 0 | Local Const $iParity = 0 | ||
Line 39: | Line 39: | ||
If @error Then Return SetError(@error, @extended, @ScriptLineNumber) | If @error Then Return SetError(@error, @extended, @ScriptLineNumber) | ||
_CommAPI_ClosePort($hFile) | |||
If @error Then Return SetError(@error, @extended, @ScriptLineNumber) | |||
MsgBox(64, "Result", $sResult) | |||
EndFunc | |||
</syntaxhighlight> | |||
== INI file== | |||
<syntaxhighlight lang="autoit"> | |||
#include "CommInterface.au3" | |||
Main() | |||
Func Main() | |||
Local $iErrorLine = Example() | |||
If @extended Then | |||
MsgBox(32, "Error", _WinAPI_GetLastErrorMessage()) | |||
ElseIf @error Then | |||
MsgBox(32, "Error", "Error in line " & $iErrorLine) | |||
EndIf | |||
EndFunc | |||
Func Example() | |||
Local Const $sFileINI = @ScriptDir & "\Example.ini" | |||
Local $sMode = _CommAPI_CreateModeString( _ | |||
IniRead($sFileINI, "COM", "SerialPort", 1), _ | |||
IniRead($sFileINI, "COM", "BaudRate", 9600), _ | |||
IniRead($sFileINI, "COM", "Parity", 0), _ | |||
IniRead($sFileINI, "COM", "ByteSize", 8), _ | |||
IniRead($sFileINI, "COM", "StopBits", 1), _ | |||
IniRead($sFileINI, "COM", "XON", 0), _ | |||
IniRead($sFileINI, "COM", "DSR", 0), _ | |||
IniRead($sFileINI, "COM", "CTS", 1), _ | |||
IniRead($sFileINI, "COM", "DTR", 1), _ | |||
IniRead($sFileINI, "COM", "RTS", 1), _ | |||
IniRead($sFileINI, "COM", "IDSR", 0)) | |||
If @error Then Return SetError(@error, @extended) | |||
Local $hFile = _CommAPI_OpenPort($sMode) | |||
If @error Then Return SetError(@error, @extended) | |||
_CommAPI_ClearCommError($hFile) | |||
If @error Then Return SetError(@error, @extended, @ScriptLineNumber) | |||
_CommAPI_PurgeComm($hFile, 15) | |||
If @error Then Return SetError(@error, @extended, @ScriptLineNumber) | |||
_CommAPI_TransmitData($hFile, IniRead($sFileINI, "COM", "Command", "Command" & @CRLF)) | |||
If @error Then Return SetError(@error, @extended, @ScriptLineNumber) | |||
Local $sResult = _CommAPI_ReceiveData($hFile, IniRead($sFileINI, "Timeout", "IDSR", 5000)) | |||
If @error Then Return SetError(@error, @extended, @ScriptLineNumber) | |||
_CommAPI_ClosePort($hFile) | |||
If @error Then Return SetError(@error, @extended, @ScriptLineNumber) | If @error Then Return SetError(@error, @extended, @ScriptLineNumber) | ||
Revision as of 14:16, 3 February 2014
This site shows you some examples for CommAPI.
First example
#include "CommInterface.au3"
Main()
Func Main()
Local $iErrorLine = Example()
If @extended Then
MsgBox(32, "Error", _WinAPI_GetLastErrorMessage())
ElseIf @error Then
MsgBox(32, "Error", "Error in line " & $iErrorLine)
EndIf
EndFunc
Func Example()
Local Const $iPort = 1
Local Const $iBaud = 9600
Local Const $iParity = 0
Local Const $iByteSize = 8
Local Const $iStopBits = 1
Local Const $sCommand = "Command" & @CRLF
Local $hFile = _CommAPI_OpenCOMPort($iPort, $iBaud, $iParity, $iByteSize, $iStopBits)
If @error Then Return SetError(@error, @extended, @ScriptLineNumber)
_CommAPI_ClearCommError($hFile)
If @error Then Return SetError(@error, @extended, @ScriptLineNumber)
_CommAPI_PurgeComm($hFile, 15)
If @error Then Return SetError(@error, @extended, @ScriptLineNumber)
_CommAPI_TransmitData($hFile, $sCommand)
If @error Then Return SetError(@error, @extended, @ScriptLineNumber)
Local $sResult = _CommAPI_ReceiveData($hFile, 5000)
If @error Then Return SetError(@error, @extended, @ScriptLineNumber)
_CommAPI_ClosePort($hFile)
If @error Then Return SetError(@error, @extended, @ScriptLineNumber)
MsgBox(64, "Result", $sResult)
EndFunc
INI file
#include "CommInterface.au3"
Main()
Func Main()
Local $iErrorLine = Example()
If @extended Then
MsgBox(32, "Error", _WinAPI_GetLastErrorMessage())
ElseIf @error Then
MsgBox(32, "Error", "Error in line " & $iErrorLine)
EndIf
EndFunc
Func Example()
Local Const $sFileINI = @ScriptDir & "\Example.ini"
Local $sMode = _CommAPI_CreateModeString( _
IniRead($sFileINI, "COM", "SerialPort", 1), _
IniRead($sFileINI, "COM", "BaudRate", 9600), _
IniRead($sFileINI, "COM", "Parity", 0), _
IniRead($sFileINI, "COM", "ByteSize", 8), _
IniRead($sFileINI, "COM", "StopBits", 1), _
IniRead($sFileINI, "COM", "XON", 0), _
IniRead($sFileINI, "COM", "DSR", 0), _
IniRead($sFileINI, "COM", "CTS", 1), _
IniRead($sFileINI, "COM", "DTR", 1), _
IniRead($sFileINI, "COM", "RTS", 1), _
IniRead($sFileINI, "COM", "IDSR", 0))
If @error Then Return SetError(@error, @extended)
Local $hFile = _CommAPI_OpenPort($sMode)
If @error Then Return SetError(@error, @extended)
_CommAPI_ClearCommError($hFile)
If @error Then Return SetError(@error, @extended, @ScriptLineNumber)
_CommAPI_PurgeComm($hFile, 15)
If @error Then Return SetError(@error, @extended, @ScriptLineNumber)
_CommAPI_TransmitData($hFile, IniRead($sFileINI, "COM", "Command", "Command" & @CRLF))
If @error Then Return SetError(@error, @extended, @ScriptLineNumber)
Local $sResult = _CommAPI_ReceiveData($hFile, IniRead($sFileINI, "Timeout", "IDSR", 5000))
If @error Then Return SetError(@error, @extended, @ScriptLineNumber)
_CommAPI_ClosePort($hFile)
If @error Then Return SetError(@error, @extended, @ScriptLineNumber)
MsgBox(64, "Result", $sResult)
EndFunc