Jump to content

    
Sign in to follow this  
Овчинников Игорь

USB_MS на SAM3U4

Recommended Posts

Доброго времени суток!

Собрано некторое устройство на указанном контроллере! Поднят USB MS (взято из примеров в KEIL), одновременно производится опрос устройств по SPI. Прочитанные данные размещаются в файле фиксированного размера на RAM диске. Проблема в том, что повторно перечитать данные без переподключения устройства не получается! Тоесть перечитываемые значения являются старыми и обновить можно только переподключив устройство по USB.

Заранее прошу прощения если эта тема повторяется!

Спасибо!

 

 

Добавлено :

 

0 Файл предназначен только для чтения, в этот файл нельзя писать и его нельзя стирать.

1 Скрытый файл, этот файл не будет появляться в списке файлов, создаваемом командой операционной системы DIR.

2 Системный файл. Этот бит обычно установлен в файлах, являющихся составной частью операционной системы.

3 Данный дескриптор описывает метку диска. Для этого дескриптора поля имени файла и расширения имени файла должны рассматриваться как одно поле длиной 11 байтов. Это поле содержит метку диска.

4 Дескриптор описывает файл, являющийся подкаталогом данного каталога.

5 Флаг архивации. Если этот бит установлен в 1, то это означает, что данный файл не был выгружен утилитой архивации (например, программой BACKUP).

6-7 Зарезервированы.

 

Обычно файлы имеют следующие комбинации битов в байте атрибутов:

 

0 Обычные файлы (тексты программ, загрузочные модули, пакетные файлы).

7 Только читаемые, скрытые, системные файлы. Такая комбинация битов байта атрибутов используется для файлов операционной системы IO.SYS, MSDOS.SYS.

8 Метка тома. Дескриптор метки тома может находиться только в корневом каталоге логического диска.

10h Дескриптор, описывающий каталог.

20h Обычный файл, который не был выгружен утилитами BACKUP или COPY.

 

Где:

20h Обычный файл, который не был выгружен утилитами BACKUP или COPY. - по описанию означает, что файл изменён.

 

-- Результат тот же!

 

 

 

Бубны кончились в соседнем магазине, надо ехать в другой город или повзаимствовать у вас.

 

 

-- Ну коли никто не отвечает, невзирая, на то что у меня это первая реализация (проба USB_MS и опыта никакого) -- то вопрос был наиглупейший и RAM диск перечитать системой невозможно!

Edited by Paramon

Share this post


Link to post
Share on other sites

Я собирал эмулятор USB MS на MSP430, когда контроллер генерит всю файловую систему флешки, а в файлике TXT показываются накопленные данные с термометра.

Так вот, дело не в контроллере и исходниках, а в том, что Windows при подключении флешки буферизирует файлы в память компьютера, и сколько не обновляй содержимое каталога - будет при открытии файла выдавать его копию из буфера в памяти компа.

 

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

 

Чтоб не ломать разъём USB при переподключениях - можно программно отключать подтягивающий резистор на линии D+ шины, и подключать через несколько секунд снова. Для компа это аналогично передёргиванию флешки в разъёме. По крайней мере я пока ничего лучше не придумал.

 

Может что-то можно сделать с настройками Windows, чтоб она не пользовалась буфером, но я не сильно в этом шарю.

И если кому-то подарить свой девайс - то новому владельцу тоже придётся химичить с настройками своего компа, а это может быть и неудобно, да и не у всех руки из правильного места растут :laughing:

Edited by controller_m30

Share this post


Link to post
Share on other sites

Спасибо за ответ! С моей стороны может это и глупо, но я попробую ещё и изменять время модификации файлов (читаемых файлов). Можем система перечитывает каталог?!

Share this post


Link to post
Share on other sites
...Заранее прошу прощения если эта тема повторяется!...

Периодически такая проблема обсуждается в подфоруме "RS232/LPT/USB/PCMCIA/FireWire". И пока не нашли ничего лучшего, кроме:

... можно программно отключать подтягивающий резистор на линии D+ шины, и подключать через несколько секунд снова. Для компа это аналогично передёргиванию флешки в разъёме...

 

Share this post


Link to post
Share on other sites

Спасибо за ответы!

Как жаль, что так выходит! Хотелось бы приспособить (подключать) устройство к разным системам, а не только к WINDOWS! потому-то и хотел файловый доступ! Дабы не писать для всего драйверы!

Если не затруднит ответьте - режим открытия файла ЧТЕНИЕ-МОДИФИКАЦИЯ-ЧТЕНИЕ с произвальным доступом поможет?

Если нет, то какой режим USB выбрать для обмена данными, который работает в LINUX, WINDOWS, ANDROID и т.п. чтобы не приходилось ставить дрова ?! Ну по умолчанию знакомы системам!

Спасибо!

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Sign in to follow this