CH376S - говнокод для работы с USB-флешкой на Arduino
- Войдите на сайт для отправки комментариев
Короче, вот: https://github.com/Porokhnya/CH376STest
Модуль - вот такой:
Код является, во-первых, быстрым наброском говнокода. Во-вторых - это творческая переработка китайского даташита (который нихера не верен хотя бы по части временнЫх задержек), а также набросков кода, найденных в сети, и работающих через пень-колоду. Код - блокирующий, чтение из файла - блочное, поскольку эта китайская хрень почему-то иногда выдаёт не точно запрошенное кол-во байт - реализована дочитка.
Всё это дело, в целом - сырее некуда, но уже позволяет через тот же SoftwareSerial на скорости 9600 ткнуть к Arduino флешку и почитать/пописать файлы на неё. Приведённый пример скетча - для Arduino Mega, флешка цепляется на Serial1, для простоты понимания. Но, поскольку код работает с любым потомком Stream - то конструктору класса скормить можно и экземпляр SoftwareSerial.
Никаких далеко идущих претензий, дальнейшего развития, прочего - выкладываю как есть, возможно, будет полезно для старта кому-то. В идеале, да для взрослого проекта - надо переписывать всё на асинхронщину, чтобы без этих ваших delay и подобных неприятных вещей. Архитектура - наколенная, тупо не задумывался особо, так что as is.
Для простеньких проектов - можно причеплять, и читать с флешки (что я, собственно, с успехом и делал). Для очень сурьёзных - нужен асинхронный подход, как по мне.
Короче, просто оставлю это здесь. Если модеры посчитают ненужным - удаляйте, не обижусь.
Уважаемый, а не поделитесь своей почтой для связи, хотелось бы обсудить с Вами это решение, в плане его дальнейшего развития. :) Ибо лички тут нет, а в гугле вашу почту я навскидку не нашел.
Уважаемый, а не поделитесь своей почтой для связи, хотелось бы обсудить с Вами это решение, в плане его дальнейшего развития. :) Ибо лички тут нет, а в гугле вашу почту я навскидку не нашел.
Проброс компорта через USB?
Проброс компорта через USB?
Нет, банальная работа с флешкой как с файловым накопителем. Просто менее сырая. :)