Немного оптимизирую код. Будет ли всегда это работать: Код (C++): pinMode( 10, OUTPUT ); digitalWrite( 10, LOW ); ... x = digitalRead(10); Т.е. мне нужно знать, что выведено в порт. Или нужно напрямую читать порт?
А по какому параметру оптимизируете? Так работать будет, но если использовать переменную размером в байт для хранения состояния пина, скорость будет выше и расход флеша на несколько байт меньше.