Программа предназначена для одновременной обработки данных, поступающих с четырех источников по протоколу RC-5. Программа обеспечивает непрерывный цикл приема данных длиной от 1 до 13 значащих бит. Особенностью программы является возможность обрабатывать данные в реальном времени, так как при возникновении события выставляется флаг прерывания, и программа в первую очередь обрабатывает подпрограмму обработки прерывания. В случае возникновения нескольких прерываний они обрабатываются по очереди старшинства нумерации источников, их вызвавших. Ввиду быстродействия микроконтроллера, вся обработка прерывания составляет 1/12 от времени передачи значащего бита, поэтому обработка приема и дешифровка данных находится в подпрограммах, вызываемых в случае возникновения события. Благодаря подобной организации программы и приоритетов выполнения основной цикл программы является пустым, что, в свою очередь, минимизирует время перехода из основного цикла в подпрограмму прерывания. С++, С