CH376S - говнокод для работы с USB-флешкой на Arduino

DIYMan
DIYMan аватар
Offline
Зарегистрирован: 23.11.2015

Короче, вот: https://github.com/Porokhnya/CH376STest

Модуль - вот такой:

Код является, во-первых, быстрым наброском говнокода. Во-вторых - это творческая переработка китайского даташита (который нихера не верен хотя бы по части временнЫх задержек), а также набросков кода, найденных в сети, и работающих через пень-колоду. Код - блокирующий, чтение из файла - блочное, поскольку эта китайская хрень почему-то иногда выдаёт не точно запрошенное кол-во байт - реализована дочитка.

Всё это дело, в целом - сырее некуда, но уже позволяет через тот же SoftwareSerial на скорости 9600 ткнуть к Arduino флешку и почитать/пописать файлы на неё. Приведённый пример скетча - для Arduino Mega, флешка цепляется на Serial1, для простоты понимания. Но, поскольку код работает с любым потомком Stream - то конструктору класса скормить можно и экземпляр SoftwareSerial.

Никаких далеко идущих претензий, дальнейшего развития, прочего - выкладываю как есть, возможно, будет полезно для старта кому-то. В идеале, да для взрослого проекта - надо переписывать всё на асинхронщину, чтобы без этих ваших delay и подобных неприятных вещей. Архитектура - наколенная, тупо не задумывался особо, так что as is.

Для простеньких проектов - можно причеплять, и читать с флешки (что я, собственно, с успехом и делал). Для очень сурьёзных - нужен асинхронный подход, как по мне.

Короче, просто оставлю это здесь. Если модеры посчитают ненужным - удаляйте, не обижусь.

Чечако
Offline
Зарегистрирован: 15.06.2018

Уважаемый, а не поделитесь своей почтой для связи, хотелось бы обсудить с Вами это решение, в плане его дальнейшего развития. :) Ибо лички тут нет, а в гугле вашу почту я навскидку не нашел. 

ua6em
ua6em аватар
Offline
Зарегистрирован: 17.08.2016

Чечако пишет:

Уважаемый, а не поделитесь своей почтой для связи, хотелось бы обсудить с Вами это решение, в плане его дальнейшего развития. :) Ибо лички тут нет, а в гугле вашу почту я навскидку не нашел. 

Проброс компорта через USB?

Чечако
Offline
Зарегистрирован: 15.06.2018

ua6em пишет:

Проброс компорта через USB?

Нет, банальная работа с флешкой как с файловым накопителем. Просто менее сырая. :)