Arduino - Sparkfun USB-хост - PullRequest
       64

Arduino - Sparkfun USB-хост

0 голосов
/ 17 апреля 2020

Я собираю устройство и мне нужно использовать USB-сканер Nordi c ID RFID. У меня есть хост-карта Spark-fun USB (V9947), и теперь мне нужно встроенное ПО, чтобы разрешить двусторонний чат в последовательном стиле «rs232» ... как если бы это был аппаратный или программный последовательный порт на Arduino. * Поддержка 1001 *

Nordi c заверила меня, что их библиотека и примеры для Arduino обычно используются со считывателями с портами RS232, однако тот же код будет работать с их меньшим устройством USB, если я смогу преодолеть барьер USB / последовательный порт ,

У меня есть библиотека и примеры для хост-платы USB, но я не могу определить, какой пример кода соответствует моему требованию к требованиям, я просмотрел библиотеку и там не нашел ответа.

Это может быть до личной глупости / невежества ... однако никогда не был так озадачен прежде. у inte rnet, кажется, нет ответа, документация и поддержка для этой доски в лучшем случае скудны.

Я надеюсь, что кто-то здесь сумел решить, что должно быть простой миссией, и я могу продолжить с этим проектом.

Спасибо, Ян

1 Ответ

0 голосов
/ 17 апреля 2020

Поскольку не зная, что вы уже сделали, я пройдусь по полной настройке. Пожалуйста, проверяйте (выполняйте) каждую точку, даже если вы думаете, что она уже сделана:

  • Пайка и оборудование не имеют шортов
    • штыревые разъемы экрана припаяны без шорт
    • Разъем USB Arduino изолирован сверху, чтобы предотвратить шорты
  • С платой SparkFun кажется, что вы ДОЛЖНЫ подавать внешнее питание на Vin или на бочкообразный разъем. 5В от USB-кабеля не будет работать надежно.
  • Вы также должны запустить перемычку с контакта D7 на RESET.

Для платы (SparkFun DEV-09947), настроенной - эти обязательные предварительные требования.
Теперь программное обеспечение

  • Код / драйверы, которые необходимо использовать для этой платы, находятся на этой странице GitHub .
  • Существует диагноз c тест , который чрезвычайно полезен для проверки правильности работы вашей платы. Выполните следующие действия:
    • Загрузите этот эскиз в Arduino, затем откройте Serial Monitor, чтобы увидеть информацию о диагностике c.
    • Чтобы увидеть вывод, установите скорость терминала вашего Serial Monitor равной 115200
    • Подключите ваше оборудование к USB-экрану
    • Сбросьте Arduino для запуска диагностики c
    • Шаг 1 - вы увидите, что он распознает плату и запускается тест передачи
    • Шаг 2 - вы увидите, что он попытается проверить контакты GPIO - вы получите сообщение «Тест GPIO не пройден». Напечатайте что-нибудь в поле в верхней части последовательного монитора, затем нажмите кнопку «Отправить», и диагностика c продолжится.
    • Шаг 3 - вы должны увидеть, как он циклически перебирает сбросы, затем он попытается обнаружить USB-устройство - поскольку у нас есть устройство, подключенное к USB-порту на экране, вы должны увидеть некоторую сводную информацию с окончательным сообщением «Все тесты пройдены»
    • Итак СЕЙЧАС мы знаем, что аппаратное обеспечение работает и работает программное обеспечение basi c.
  • Программа установки / тестирования драйвера следующего шага для Nordic
    • Получите библиотека отсюда
    • Импорт NurMicroApi_arduino.zip в IDE. Из меню: Эскиз-> Включить библиотеку-> Добавить библиотеку .ZIP ...
    • Открыть пример. Из меню: Файл-> Примеры-> NurMicroApi-> NurExample
    • Измените скорости передачи и последовательные выводы SW в соответствии с вашим Arduino HW. В этом примере модуль NUR подключен к Arduino через программный последовательный контакт 10 (RX) и контакт 11 (TX) с скоростью передачи 38400. HW последовательный используется в качестве вывода на печать.
  • Возможно, вам придется изменить это на подключения карты USB (см. Diag-SW)
    • В качестве более простого варианта вы можете использовать анализатор HID для проверки если ваш NUR распознан Если это работает, возьмите рабочий пример, например:
    • Пример работы HID и попробуйте прочитать тег, затем начните кодирование с примера NUR сверху, если значения неверно истолковано

Если вы хотите использовать «чистый» стиль at-Terminal (RS-232), вам нужно избавиться от функций usb shields (lib) и написать свою собственную прошивку Arduino (= преодолеть барьер USB / последовательный порт) на nordi c -api (хорошо задокументировано). Надеюсь, это поможет вам

...