|
SERIAL COMMUNICATION
- How can I have direct serial communication with a COM port?
All commands should be in hex format. So if you are sending F
and A as two keyboard characters it will NOT work. FA(hex) is 250(dec).
Commands use full byte range. For one byte commands (such as FA) you don’t need
to send CRC checksum bytes. For all other communication CRC is needed and is
required because of the ISO15693 protocol, not APSX.
- How would I interface the APSX-210 with a microprocessor?
It is possible; however you will need a stamp that supports
19200 baud. In that case you should be able directly talk to RW-210 without the
need of the C-100. You can download and use DirecTalk (serhex). Also, you can
download Portmon (Google it) and monitor the serial communication.
- Do you provide communication on Linux?
We do not have Linux sample applications; however you can
directly communicate with the device via serial port commands. You can
experiment with this using our DirecTalk Application (serhex) from our Support
page. We do have customers that use our devices on Linux.
- Can I use a CMOS level RS232 port w/o using C-100?
No. It needs to be at TTL levels. I would try a C-100 to
compare. Download and used the Direct Talk application. It has good samples of
data being sent and received. Two major things you need to consider.
1- All data being sent and received in full byte spectrum
(0-255).
2- Most commands need CRC16 checksum.
- How can I read the written data?
Please download our DirecTalk application. It has examples of
write command. Remember it is not as simple as FA command. You will need to
calculate and send CRC checksums bytes at the end of each command line. I have
an embedded application that I am interested in using this Device for.
- What is the interface method or port setting? Serial, IIC?
19200 TLL 8N1 serial TTL or RS232? If you are connecting
directly to RW-210 without C-100, then it is 19200baud 8N1 TTL connection if
not it is 19200 baud 8N1 RS232-C.
- Bytes or Chars?
You need to be able to send and receive in bytes not chars.
Chars does not cover all byte needs of the system.
- How can I calculate the CRC?
You need to skip the first two bytes and calculate the CRC for
the rest. ISO15693 uses CRC-16, an implementation in VB is shown below.
Private Sub CalcCRCSkipFirstTwoBytes(ByRef DataBytes() As
Byte)
Dim dbytes(DataBytes.Length - 3) As Byte
Dim i As Integer For i = 0 To dbytes.Length - 1
dbytes(i) = DataBytes(i + 2)
Next
Dim CRCLSB As Byte, CRCMSB As Byte
CalculateCRC(dbytes, CRCLSB, CRCMSB)
ReDim Preserve DataBytes(DataBytes.Length + 1)
DataBytes(DataBytes.Length - 2) = CRCLSB
DataBytes(DataBytes.Length - 1) = CRCMSB
End Sub
Private Function CheckCRC(ByVal cbytes() As Byte) As Boolean
Dim mbytes(cbytes.Length - 3) As Byte
Dim i As Integer
Dim crclsb As Byte, crcmsb As Byte
For i = 0 To mbytes.Length - 1
mbytes(i) = cbytes(i)
Next
Me.CalculateCRC(mbytes, crclsb, crcmsb)
If cbytes(cbytes.Length - 2) = crclsb And cbytes(cbytes.Length - 1) = crcmsb
Then
Return True
Else
Return False
End If
End Function
Public Sub CalculateCRC(ByVal DataBytes As Byte(), ByRef
CRCLSB As Byte, ByRef CRCMSB As Byte)
Const PresetValue = &HFFFF
Const Polynominal = &H8408
Dim CRCValue As Integer
Dim i As Integer, j As Integer
CRCValue = PresetValue
For i = 0 To DataBytes.Length - 1
CRCValue = CRCValue Xor DataBytes(i)
For j = 0 To 7
If CRCValue And &H1 Then
CRCValue = (CRCValue >> 1) Xor Polynominal
Else
CRCValue >>= 1
End If
Next j
Next i
CRCValue = Not CRCValue - 65536
CRCLSB = CRCValue Mod 256
CRCMSB = (CRCValue - CRCLSB) / 256
End Sub
- How can I connect it serially? How do I supply power to the module?
You will need to supply the device with clean regulated 5V.
When you use our C-100 connector to get serial connection with a serial cable,
you'll need 6VDC wall adaptor
- Need full listing of commands in HEX format. Some are available in DirecTalk
application but I need a bit more.
You will need to obtain ISO15693 to get the all the ISO15693
commands for that. We do not supply that document since these are tag protocol
dependant rather than our device. One alternative would be to listen to our
Test Application (not direct talk) with Portmon application, since it has most
of the functionality in a common 15693 tag.
Back to FAQ main page...
|