![]() |
Interrupt Subroutine |
This is the interrupt code. It is invoked when a message arrves from the receiver which is preceded by a 20ms pulse to activate the interrupt. Since this may be from any RF transmitter, multiple tests are made: In order to give time for the SERIN command to start, approved messages start with a wide pulse. The width of this is measured and messages not in an approved range are rejected. Approved messages start with a alpha-numeric character less than "z". Others are not used. There are two accepted messages, as determined by the first character after the SERIN unlock code:"14L1776".: 1. "O' messages are commands to change "Mode". This also sets the "NewModeFlag" to refresh the display quite soon after the end of interrupt. 2. "s" messages are weather reports, once a minute. These are verified by a 2-hexadecimal checksum at the end. The actual ASCII values are extracted and copied to memory per the table in EEPROM. |
![]() |