seamen, Похоже, на входе счётчика стоит оптическая развязка.
То есть, для передачи уровня Вы зажигаете светодиод.
Чтобы он светил, нужно, чтобы через него пошёл ток
У светодиода 2 контакта.
Вход 1 - это один контакт одного светодиода,
Вход 2 - это один контакт второго светодиода,
и т.д.
А общий - это точка соединения всех светодиодов со всех 4-х входов.
Получается эдакая, схема "звезда"
При этом, похоже, что оптопара в развязке стоит с двумя параллельными встречными светодиодами.
То есть, направление тока значения не имеет.
Подключать так:
+24 - на "+" питания датчика ( Красный )
-24 - на "-" питания датчика ( Чёрный )
Вход счётчика - на выход датчика ( Жёлтый )
Общий - либо к "+" либо к "-" - Не важно
Можно попробовать варианты. Это безопасно.
В данном случае речь шла именно об ендпоинтах. На CDC+ HID нагрузка - минимальная. Процессор точно тянет.
А про видео - это другая задача. Там,действительно, преобразование неслабо времени жрёт Олег, ежели возникнет у тебя такая задачка - пиши. Обсудим. :)
Ну, или звони. Там в профиле контакты есть.
Данил Тунев, есть таблица прерываний. В неё записываются адреса обработчиков.
Эти адреса могут быть адресами функций C
Посмотри стартап код. В нём это всё хорошо видно
а как вы поняли, что это один пакет, а не 3 пакета по 1024?
Использую под линуксом usbmon
Он, конечно, глючный, но разбиение по пакетам как-то даёт
Глюки usbmon я заметил с помощью прибора Ellisys USB Explorer 280
Его я взял у знакомого, попользоваться.
Но стоит эта штука дорого. Поискал в инете, нашёл 2 альтернативы.
Одна из них, подешевле - такая:
Олег, Спасибо за наводку. Почитал документацию повнимательнее.
Раньше не придавал этому значение.
Есть 4 типа пакетов данных DATA0, DATA1, DATA2 и DATAM
Как раз в этом случае они и используется
Хост присылает маркер DATAIN
В ответ устройство отправляет либо DATA0 либо последовательность:
DATA1, DATA0 - при настройке 2 пакета на микрофрейм
DATA2, DATA1, DATA0 - при настройке 3 пакета на микрофрейм
Осталось только понять как заставить STM32F407 посылать такие последовательности
вместо простых DATA0.
И вообще, умеет ли такое делать USB контроллер в STM32
Я пробовал из контроллера отправлять в ендпоинт буферы размера 3072 байта
это не помогло. Видео вообще не пошло.
Когда просниффил - оказалось, что контроллер отрезает всё, что больше 1024 байт
Я чего-то концептуального недопонял?
Я работаю на STM32F407/Может быть у него, просто, USB контроллер с ошибкой?
Написано
Войдите на сайт
Чтобы задать вопрос и получить на него квалифицированный ответ.
То есть, для передачи уровня Вы зажигаете светодиод.
Чтобы он светил, нужно, чтобы через него пошёл ток
У светодиода 2 контакта.
Вход 1 - это один контакт одного светодиода,
Вход 2 - это один контакт второго светодиода,
и т.д.
А общий - это точка соединения всех светодиодов со всех 4-х входов.
Получается эдакая, схема "звезда"
При этом, похоже, что оптопара в развязке стоит с двумя параллельными встречными светодиодами.
То есть, направление тока значения не имеет.
Надеюсь, это достаточно подробный ответ.