Нужна ваша помощь. Сделал композитное устройство CDC+MSC под stm32l4. В качестве памяти использую SPI микруху. Оба класса CDC и MSC работают без проблем. Винда также видит флешку, форматирует и успешно пишет/читает файлы.
Проблема заключается в следующем:
отправляю данные через ком-порт, МК видит файловую систему, создает файл и успешно в него записывает данные. Однако, видна не видит созданного файла. Данный файл появляется только тогда, когда сделаю реконнет USB.
Хочется увидеть работу девайста такой: Воткнул USB - > открыл флешку и допустим, проверил есть ли файл -> кинул данные через ком-порт (это будет делать пользовательское приложение) -> без реконнета USB проверил, что файл с данными создан на флешке
По-человечески не выйдет. Протокол MSD подразумевает что устройство является просто хранилищем данных, сами по себе они не меняются. Соответственно ОС может и скорее всего будет буферизировать данные чтобы не изнашивать "флешку" попусту. Чтобы это обойти, можно попробовать поискать настройки кэширования (отключить его), но это придется делать каждый раз. Либо притвориться другим устройством и использовать такой протокол, который допускает именно обмен данными, а не просто хранение. Да тот же CDC или HID. При желании можно вокруг него написать "драйвер", который бы отображал данные в виде файловой системы. Ну и самый кривой способ - разбираться с MTP-протоколом, по которому телефоны с компьютером общаются.
Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 22
Вы не можете начинать темы Вы не можете отвечать на сообщения Вы не можете редактировать свои сообщения Вы не можете удалять свои сообщения Вы не можете добавлять вложения