Есть некоторое устройство, подключаемое к COM-порту. Это устройство шлёт данные, которые я должен считать. С этим проблем нет. Также это устройство иногда дёргает провод DCD. Задача: необходимо различать принятые данные по тому, пришли они вместе с DCD или без него.
С этим начались проблемы, DCD может изменяться с периодом 12 мс или реже, опрос его состояния в цикле с помощью ioctl не успевает. Заранее известно, что если DCD поднят, то придет ровно 24 байта, если опущен, то данные могут (но не обязательно) придти в виде короткой посылки длинной в несколько байт.
Может кто-нибудь знает, как обработать прерывание по изменению DCD или какой нибудь другой способ или литературу.