Не должно быть никаких проблем с изменением направления линии ввода-вывода для считывания состояния, возвращаемого периферийным устройством, при условии, что вы изменяете состояние линии на вход до того, как периферийное устройство начнет управлять линией, а затем выполните не пытайтесь управлять линией как выходом, пока периферийное устройство не прекратит управлять этим. Чего вам следует избегать, так это раздора между двумя устройствами-драйверами, то есть процессором и периферией приводят два конца в противоположные состояния. Это может привести, в лучшем случае, к значительному скачку энергопотребления или к ухудшению схемы драйвера раздувного штыря в процессоре, периферийном устройстве или обоих.
Вы не говорите, что такое процессор или периферийное устройство, поэтому я не могу сказать, есть ли какие-либо биты управления в интерфейсе, которые позволяют удаленному устройству выводить состояние, чтобы вы могли знать, управляет ли периферия линией в любое время .