Arduino и USB
- Войдите на сайт для отправки комментариев
Пнд, 19/09/2016 - 23:41
В голове каша ((
У Ардуино Дуе есть два USB порта - обычный и Programming.
Из wiki
Спецификация
Скорость | Стандарт USB | |
---|---|---|
Low-Speed | до 1,5 Мбит/с | USB 1.0 |
Full-Speed | до 12 Мбит/с | USB 1.0 |
Хочу, чтобы ардуина скидывала в ПК данные по USB со скоростью 5 Мбит/с.
(AnalogRead() дуе выполняет за 5 мкс -> 200к отсчетов в секунду. 12 разрядов - 4096 - влезет в short - 2 байта, 16 разрядов (бит). Итого 200к*16 бит=3200 кбит\сек)
Как это можно сделать?
Serial.begin(921600) работает, а с более высокой скоростью передает уже кракозябры.
Другой вариант - взять ethernrt shield и гнать данные через lan. Там скорости и помехоустойчивость выше. (?)
имеется библиотека libusb. Первоначально она создавалась для Linux, теперь имеются порты и для Windows. Уже известная утилита lsusb использует библиотеку libusb. Эта библиотека позволяет писать прикладные программы, напрямую обращающиеся к USB устройству, устраняя необходимость использования специальных драйверов ОС.
http://www.gaw.ru/html.cgi/txt/interface/usb/instr/6.htm