When the INT key is pressed again, external interrupt will wake up the processor and kernel will
execute all operations in the inverse order and sense. As external interrupt is impossible to
debounce by software, special test is made before sleeping and after wake-up to ensure that
INT key is OFF (200ms before and 50 ms after sleeping).
If RXFlag,0 is set by user software, then kernel will automatically receive bytes from the infrared
port and write them to the RX input buffer, which is in data RAM, at addresses 0x600...0x6FE. If
a string longer than 254 bytes is received, only the first 254 bytes will be detected, and the rest
will be ignored.
Message header contains ASCII "[", one to five ASCII digits (which represent recipient's serial
number in decimal form) and ASCII"]". So, header can vary from [0] to [65535]. Only if RXFlag,0
is set, valid header is detected and if the serial number matches, the message will be received,
otherwise it will be ignored. When the new message is received, the old one is automatically
cleared.
Message terminator is pause, which is at least 200ms long. At the end of the the message,
terminator 0x00 will be inserted automatically to the received string in data memory. Thus, the
maximal message is 255 bytes, although the maximal received message is 254 bytes. Header is
not written, so it should not be counted in maximal message length.
At the same time, while the message is written in Data RAM, it is also written in EEPROM, at
locations 0x01...0xFF (EEPROM location 0x00 is used for brightness setting).
This process of message reception is used in the moving message demo application. Message
can be transferred from the computer via the infrared terminal and it will be received by
moving message firmware and immediately displayed.
Some aspects described here are represented on the following drawing:
Содержание SUPERCONFERENCE BADGE
Страница 1: ...HACKADAY SUPERCONFERENCE BADGE Pasadena 2016 Nov 5 6 Ver 1 Rev 0 ...
Страница 7: ......
Страница 14: ......