Правильно, но проще записать в защёлку вывода "0" и работать с битом направления передачи, как с "выводом". Следует учесть, что при таком подходе надо инвертировать данные "1" == "выход", "0" == "вход".
Это я, здравствуйте. http://the-epic-file.com/bookshelf.htm