Перейти к содержанию
    

USB_MS на SAM3U4

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

Собрано некторое устройство на указанном контроллере! Поднят 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 диск перечитать системой невозможно!

Изменено пользователем Paramon

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

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

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

 

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

 

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

 

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

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

Изменено пользователем controller_m30

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

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

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

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

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

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

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

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

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

Спасибо!

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

×
×
  • Создать...