Модераторы: PILOT, ManiaK, Mazzi
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> AT91SAM7, работа с USB 
:(
    Опции темы
Ivan.
Дата 10.2.2007, 11:27 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 291
Регистрация: 2.11.2004

Репутация: 1
Всего: 2



Привет всем!
В данный момент осваиваю работу с AT91SAM7S(X) через USB. Обложился книгами по USB и т.д. Испыхтелся весь, пока не подумал, что может быть незачем изобретать велосипед, и кто нибудь уже написал и драва и софт.

Нашел пример для AT91SAM7S. Там есть софт для контроллера, драйвер, DLL и пример для VC++.
В DLL есть 5 функций:
- поиск устройств;
- подключение к устройству;
- отключение;
- отправка данных;
- чтение данных.
Все эти функции вполне удовлетворяют мои требования, за исключением функции приема данных. Данные можно принимать только известного размера, отправленного от контрллера. Например контроллер отправил мне 100 байт, если я начну читать 99 байт или 101 байт, то функция чтения зависнет на секунду и в результате выдаст ошибку (но данные в буфер запишет). Пакет не удаляется до тех пор, пока я не прочитаю точный размер данных. А я же незнаю сколько байт прислал мне контроллер, никаких средств для определения размера принятых данных в DLL нет, только если работу реализовать по запросу. Например:
[вопрос] Есть данные?
[ответ] Есть.
[вопрос] Сколько?
[ответ] N байт.
[вопрос] Дай N байт.
А контроллер по какой либо причине не отправил данный, я начинаю читать и КАЮК (все рассинхронизировалось).
Толи пример какойто упращенный, толи я чтото недопонял.

Буду рад любому исходнику.


--------------------
Я могу ВСЁ, вопрос - сколько времени у меня это займет!
PM MAIL ICQ   Вверх
cardinal
Дата 11.2.2007, 19:45 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Инженер
****


Профиль
Группа: Экс. модератор
Сообщений: 6003
Регистрация: 26.3.2002
Где: Германия

Репутация: 8
Всего: 99





--------------------
Немецкая оппозиция потребовала упростить натурализацию иммигрантов
В моем блоге: Разные истории из жизни в Германии

"Познание бесконечности требует бесконечного времени, а потому работай не работай - все едино".  А. и Б. Стругацкие
PM   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Микроконтроллеры (MCU) и микропроцессоры (MPU)"
PILOT ManiaK
UniBomb Mazzi

На данный раздел помимо Правил форума распространяются текже следующие правила:


  • Прежде чем создать тему воспользуйтесь поиском или посмотрите в faq. Возможно на форуме уже есть ответ на ваш или близкий к вашему вопрос.
  • В заголовке темы в квадратных скобках обозначьте используемое семейство микроконтроллера: [avr],[pic],[arm].
  • При создании темы с вопросом указывайте участок кода с ошибкой, версию компилятора, схемы подключения, fuse биты и прочие данные, которые помогут найти правильный ответ. Для форматирования текста программ используйте кнопку код.
  • Новое сообщение должно иметь прямое отношение к тематике этого раздела. Для флуда, просьб выполнить задание, поиска партнёров или исполнителей существуют свои разделы.
  • Если вы заметили несовместимое с правилами сообщение, то можете уведомить об этом модератора раздела нажав кнопку Репорт у соответствующего сообщения.

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, PILOT, ManiaK, UniBomb, Mazzi.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Микроконтроллеры (MCU) и микропроцессоры (MPU) | Следующая тема »


 




[ Время генерации скрипта: 0.0386 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.