Когда вывод остается плавающим, как вы описали, вы не можете ожидать, что вход будет иметь определенное значение, если вы не подключили повышающий или понижающий резистор.
Вероятно, присоединяется «подтягивающий регистр» внутренний подтягивающий резистор к линии, тянущий это высоко (до 5 В). Это, вероятно, не то, что вы хотите. Посмотрев в руководство пользователя, что у меня C нет внутреннего выпадающего на портах GPIO. Если ваше приложение ТРЕБУЕТ выпадающего меню, вы можете сделать это извне (то есть с помощью физического резистора от вывода к заземлению).