Кто любит RISC в жизни, заходим, не стесняемся.
Вс апр 11, 2021 16:34:17
Доброго времени суток, товарищи!
Нужна ваша помощь.
Сделал композитное устройство CDC+MSC под stm32l4. В качестве памяти использую SPI микруху. Оба класса CDC и MSC работают без проблем. Винда также видит флешку, форматирует и успешно пишет/читает файлы.
Проблема заключается в следующем:
отправляю данные через ком-порт, МК видит файловую систему, создает файл и успешно в него записывает данные. Однако, видна не видит созданного файла. Данный файл появляется только тогда, когда сделаю реконнет USB.
Хочется увидеть работу девайста такой:
Воткнул USB - > открыл флешку и допустим, проверил есть ли файл -> кинул данные через ком-порт (это будет делать пользовательское приложение) -> без реконнета USB проверил, что файл с данными создан на флешке
Есть подсказки, где и что искать?
Вс апр 11, 2021 20:15:16
По-человечески не выйдет. Протокол MSD подразумевает что устройство является просто хранилищем данных, сами по себе они не меняются. Соответственно ОС может и скорее всего будет буферизировать данные чтобы не изнашивать "флешку" попусту.
Чтобы это обойти, можно попробовать поискать настройки кэширования (отключить его), но это придется делать каждый раз.
Либо притвориться другим устройством и использовать такой протокол, который допускает именно обмен данными, а не просто хранение. Да тот же CDC или HID. При желании можно вокруг него написать "драйвер", который бы отображал данные в виде файловой системы.
Ну и самый кривой способ - разбираться с MTP-протоколом, по которому телефоны с компьютером общаются.
Powered by phpBB © phpBB Group.
phpBB Mobile / SEO by Artodia.