Я собирал эмулятор USB MS на MSP430, когда контроллер генерит всю файловую систему флешки, а в файлике TXT показываются накопленные данные с термометра.
Так вот, дело не в контроллере и исходниках, а в том, что Windows при подключении флешки буферизирует файлы в память компьютера, и сколько не обновляй содержимое каталога - будет при открытии файла выдавать его копию из буфера в памяти компа.
Можно посмотреть USB логгером (я смотрел USBTrace), что при первом включении из флешки вычитывается большой массив данных, а при повторных обращениях к файлу - на флешку запросы больше не выдаются.
Чтоб не ломать разъём USB при переподключениях - можно программно отключать подтягивающий резистор на линии D+ шины, и подключать через несколько секунд снова. Для компа это аналогично передёргиванию флешки в разъёме. По крайней мере я пока ничего лучше не придумал.
Может что-то можно сделать с настройками Windows, чтоб она не пользовалась буфером, но я не сильно в этом шарю.
И если кому-то подарить свой девайс - то новому владельцу тоже придётся химичить с настройками своего компа, а это может быть и неудобно, да и не у всех руки из правильного места растут
Сообщение отредактировал controller_m30 - Mar 5 2014, 17:47