STM3. 2 и USB- HID — это просто / Хабрахабр. На дворе 2. 01. 4 год, а для связи микроконтроллеров с ПК самым популярным средством является обычный последовательный порт. С ним легко начать работать, он до примитивности прост в понимании — просто поток байт. Не всегда он есть под рукой. Из нескольких десятков игр вы непременно найдете желаемый сюжет – фэнтези, фрукты, путешествия, история и т.д. Большинство аппаратов предоставляют 15 фри-спинов, которые позволят играть в эмуляторы слотов бесплатно, «дикий» и символ разброса. Ищешь симуляторы и эмуляторы игровых автоматов? На сайте собраны лучшие онлайн слоты абсолютно бесплатно и без регистрации. Игровые автоматы с выводом денег. Партнерская программа 10% на покупки! Автоматические выплаты без вложений! Новые бездепы в казино 2016. Если вы выбрали слоты для игры - не ждите когда закончится вращение барабанов, жмите кнопку "Стоп". Интересные материалы об игровых эмуляторах, симуляторах, аппаратах, автоматах Слоты на кинотематику: мировые шедевры на барабанах игровых автоматов. Выход игры намечен на 22 июня 2016 года — ждем! Не всегда такой переходник работает стабильно из- за проблем с драйверами. Есть и другие недостатки. И у них есть на то основания. Однако, хорошо ведь иметь альтернативу? Я дам готовый рабочий проект и расскажу как его адаптировать для своих нужд. А уж вы сами решите — нужно оно вам или нет. У нас есть плата с современным недорогим микроконтроллером STM3. F1. 03. C8 со встроенной аппаратной поддержкой USB, я рассказывал о ней ранее. Я сказал, что у последовательного порта есть и другие недостатки: -часто COM порт отсутствует в ПК или ноутбуке- питание устройству нужно подавать отдельно- даже при наличии COM порта в ПК необходимо согласовывать уровни сигналов: ПК использует интерфейс RS2. Вниманию гостей, представлены только лучшие игровые автоматы на реальные деньги с выводом, от этих производителей.В и - 1. 5В, а микроконтроллеры — TTL уровни (+5. В, +3. 3. В, униполярные).- часто в системе образуются десятки виртуальных COM портов и найти тот порт, что соответствует вашему устройству может оказаться непросто. В свою очередь USB с нами уже многие годы и имеет свои преимущества: -Возможность подачи питания от HOST устройства- Удобная реализация пакетного обмена- Возможность одновременного подключения к устройству несколькими программами- Возможность однозначной идентификации подключенного устройства- Аппаратная поддержка во многих современных МК, что исключает необходимость переходников. Функционал USB чрезвычайно богатый, но это порождает проблему — разобраться не так просто, как с последовательным интерфейсом. Есть отдельный класс устройств — USB- HID, которые не требуют установки драйверов, специально предназначены для взаимодействия с человеком и различными устройствами ввода- вывода. Идеально для организации обмена данными с МК. Лично мне нравится пакетный режим обмена. Это удобная абстракция. К тому же разбирать пакетные сообщения несколько проще и удобнее, чем работать с простым потоком байт. Выбор профиля HID. USB- HID — довольно обширный класс устройств, поэтому прежде всего придется выбрать какое именно устройство мы будем создавать. Это дает максимальную свободу. Также этот слот имеет определенные бонусы. Но кроме того, он еще чуть ли не самый позитивный среди всех слотов знаменитой компании Игрософт, Дата: 2016 -01-21 18:02:18 Прикольный сайт Онлайн казино 2016 · Казино без депозита · Онлайн казино с выводом денег · Казино онлайн. К ним относятся современные способы вывода выигранный денежных. Стандартные слоты, прикольные, нарды, кено, рулетки, картишки, даже. Эмуляторы (симуляторы) слотов. Вы обязаны играть в игровой автомат только в режиме онлайн, потому как Вулкан осуществил функцию только онлайн игра без скачивания слота. Вулкан казино с бездепозитным бонусом за регистрацию без скачивания с выводом выигрышей подготовил вам самый крупный выбор. Чтобы не затягивать статью, постарюсь рассказать максимально кратко — описаний стандарта в сети и без меня много, но лично мне они слабо помогли, когда понадобилось решить конкретную задачу. Структура проекта. Я использую Em. Blocks для разработки под STM3. Вы можете использовать любую удобную среду, проект не очень сложно адаптировать. Далеко не все частоты позволяют правильно задать тактирование USB. В нашем случае используется кварцевый генератор на 8. МГц и МК работает на частоте 7. МГц, а USB модуль на 4. МГц. Если временно нужно отключить для отладки работу с USB, просто закомментируйте эту строку. Если все сработало верно и устройство успешно подключилось, ПК включен и не находится в режиме энергосбережения, то состояние будет CONFIGURED. Поэтому при подготовке USB дескриптора нашего устройства, мы пишем, как часто нужно опрашивать наше устройство. По спецификации максимальная частота опроса — 1к. Гц и максимальный размер передаваемого за раз пакета — 6. Если этого недостаточно — придется использовать другие режимы работы — вроде USB bulk, но там уже без драйверов не обойтись. В данном случае - Device descriptor. USB - какую версию стандарта USB поддерживает устройство. USB. У нас нули, означает каждый интерфейс сам за себя. Device. Class. 0x. Device. Sub. Class. Device. Protocol. Max. Packet. Size - максимальный размер пакетов для Endpoint 0 (при конфигурировании). VID и PID, по которым и определяется, что же это за устройство. Обратите внимание на DEVICE. Проект так настроен, чтобы при ее изменении менялись и размеры буферов. Но не забывайте, что больше 0x. С этой константой будьте осторожны — если передаваемый пакет будет отличаться по размеру — будут проблемы! Для нашего устройства задано 3. Дескриптор репорта (описывает протокол)const uint. Его формирование — не самая простая задача. Если допустить ошибку при формировании дескриптора — устройство перестанет работать. Формат дескриптора очень жесткий. Есть даже специальная утилита HID Descriptor tool. А в корне проекта лежит файл «RHID. Но если вы не понимаете, что делаете, лучше не лезть. Пакетов может быть весьма много, их можно предусмотреть на все случаи жизни — например пакет с данными о каких- то событиях в устройстве, пакет с данными, которые запрашивал ПК, пакет с командой для МК. Но структура всех пакетов должна быть описана в структуре RHID. Содержит поле размером 1 бит с желаемым состоянием светодиода и поддерживает отправку как методом SET. Просто, чтобы показать, как передать данные МК. Мы будем передавать положение ползунка. REPORT. Возвращает информацию о текущем состоянии светодиодов, кнопок (если они есть) и возвращает переданный в репорте с ID=3 байт, чтобы показать, что данные приняты. Остальные репорты можно просто не трогать, они не помешают. Не забывайте, что первым байтом должен быть ID репорта. Цикл обмена. Итак, мы сконфигурировали наше устройство, установив PID, VID, номер версии, настроили размеры входящих и исходящих пакетов и готовы к работе. Это важно — если размер буфера будет отличаться — будут проблемы. Поэтому для изменения размеров буфера редактируйте значение константы в usb. Это некоторая абстракция, для красивого управления устройством с кучей функций, чтобы можно было вызывать осмысленные функции, а не просто слать поток байт. Второй способ — это работа с устройством как с файлом — просто записываем в него пакет как в файл. Этот метод называется SET. На деле работает чуть- чуть медленнее. Наше устройство поддерживает оба метода, о чем мы и сказали хосту в дескрипторе репортов. Обработка SET. Их состояние отображает текущее состояние девайса. Считывается из репорта от девайса. Перемещая ползунок, мы отправляем Report с ID=3 и значением, соответствующим позиции ползунка. Девайс вернет это значение в 4 байте репорта. В выпадающем комбобоксе отображаются HID девайсы, найденные в системе и если найден наш девайс, то отображается его название. Скачать все, что необходимо, можно на Git. Hub. В составе: DT — HID Descriptor tooltst. HID- STM3. 2F1. 03 — проект для Em. Blocks. USB HID Demonstrator — утилита от ST Microelectronics. HIDSTM3. 2. exe — моя демо- софтинка на Delphi аналогичного фукнционала, но не требующая настройки. Если остались вопросы — пишите в комментариях. Я постарался не утопить суть в куче мелочей, чтобы сложилось общее понимание. Остальное уже можно понять, изучая проект. Но если вам нужно быстро сделать свое устройство, а лезть в дебри некогда — все, что вам нужно, я описал. P. S. По умолчанию при уходе хоста в режим энергосбережения, девайс засыпает вместе с ним, а если подключить девайс к спящему ПК, то он тоже уйдет в слип. Поэтому если мы просто воткнем в девайс блок питания или запитаем от батареи, то работать он не будет, считая, что подключен к спящему ПК (пакетов конфигурации то от БП не придет точно). Я изменил библиотеку так, чтобы устройство работало и при подключении просто БП. Поэтому девайс будет работать как при подключениии к ПК так и автономно.
0 Comments
Leave a Reply. |
AuthorWrite something about yourself. No need to be fancy, just an overview. Archives
January 2017
Categories |