Access from the user program
KL2521
38
Version: 2.1
Byte
Byte 3
Byte 2
Byte 1
Byte 0
Name
Data out, low byte
Data out, high byte
Not used
Control byte
Value
0x35
0x12
0xXX
0xDF
is set, and the terminal returns the register address with bit 7 for register access as
acknowledgment.
Byte
Byte 3
Byte 2
Byte 1
Byte 0
Name
Data in, low byte
Data in, high byte
Not used
Status byte
Value
0x00
0x00
0x00
0x9F
5.5
Examples of Register Communication
The numbering of the bytes in the examples corresponds to the display without word alignment.
5.5.1
Example 1: reading the firmware version from Register 9
Output Data
Byte 0: Control byte
Byte 1: DataOUT1, high byte
Byte 2: DataOUT1, low byte
0x89 (1000 1001
bin
)
0xXX
0xXX
Explanation:
• Bit 0.7 set means: Register communication switched on.
• Bit 0.6 not set means: reading the register.
• Bits 0.5 to 0.0 specify the register number 9 with 00 1001
bin
.
• The output data word (byte 1 and byte 2) has no meaning during read access. To change a register,
write the required value into the output word.
Input Data (answer of the bus terminal)
Byte 0: Status byte
Byte 1: DataIN1, high byte
Byte 2: DataIN1, low byte
0x89
0x33
0x41
Explanation:
• The terminal returns the value of the control byte as a receipt in the status byte.
• The terminal returns the firmware version 0x3341 in the input data word (byte 1 and byte 2). This is to
be interpreted as an ASCII code:
◦ ASCII code 0x33 represents the digit 3
◦ ASCII code 0x41 represents the letter A
The firmware version is thus 3A.
5.5.2
Example 2: Writing to an user register
Note
Code word
In normal mode all user registers are read-only with the exception of Register 31. In order
to deactivate this write protection you must write the code word (0x1235) into Register 31. If
a value other than 0x1235 is written into Register 31, write protection is reactivated. Please
note that changes to a register only become effective after restarting the terminal (power-
off/power-on).
Summary of Contents for KL2521 Series
Page 2: ......