В смысле могу я на какую-нить из линий вытавить лог. 1 или 0? Это возможно без наличия устройства? Если как, то буду рад подсказкам
без устройства - нет: там питание 5в и две линии: прием и передача. по передаче, конечно, сигнал будет, но это не есть просто 1 или 0. нужно устройство, которое поддерживает протокол usb. больше не знаю
Там нет понятия линия приёма или передачи.Приём и передача происходит по одним и тем же линиям (временное разделение).По информационным линиям (D+ и D-) передаются дифференциальные сигналы:если на одной "1",то на другой будет "0"(вроде как для повышения помехоустойчивости). Где-то читал, что есть возможность управления информационными линиями по отдельности (т.е., как я понял, выдавать не дифференциальные 0 или 1, а обычные, в смысле независимые друг от друга сигналы). Это правда?И опять же - что будет при отсутствии устройства?
Управлять линиями D+ и D- можно и нужно, но, штатный контроллер usb (в компе) не позволяет этого делать напрямую. Потому что это будет нарушение протокола usb, а так как комп - это корневой хаб, как правило, значит перестанут работать все usb у-ва подключенные к нему. Там и вправду используется не только дифференциальное кодирование, надо же как-то различать паузу на шине, сигналы пробуждения, начало и конец фрэйма передачи и пр. Так что там есть управление и дифференциальное и линейное. И управлять этим можно и нужно по стандарту, но обычно все спрятано внутри контроллера... Если только делать свой контроллер и в нем управлять "руками" (как я и делал когда-то, когда контроллеры usb были редкими и дорогими), но сложно это очень, да и смысл теперь-то в чем?