В коде есть обращения к порту 7 (чтение) и флагу 5 (чтение) -- они не описаны. Возможно, флаг 5 -- это триггер переноса