реклама на сайте
подробности

 
 
> Передача данных по USB, Потихоньку, по шагам надо реализовать...
mr.smart
сообщение Oct 16 2010, 18:48
Сообщение #1


Участник
*

Группа: Участник
Сообщений: 28
Регистрация: 2-10-10
Пользователь №: 59 884



Доброго Всем время суток, Друзья!

Есть интересная платка с процессором AT91SAM7S256. Только-только начал разбираться с написанием прошивок... Мигать уже умеем smile.gif
Сейчас буду разбираться с передачей данных по USB-шинке (других портов на плате нет) Сильно надеюсь на Вашу помощь. Конкретных вопросов много, поэтому решил, что проще создать одну тему, где их буду разбирать.

Вопрос для начала.
Как прописать для платы PID/VID? Никакой инфы в даташитах по процессору я не нашел. В стандартных проектах, в которых устройству должен прописывается PID - 6119, я нигде не смог найти данную строку.
Ну и правильно ли я понимаю, что если прописать PID/VID, то пока даже без настройки UDP и USART устройство будет определяться как "6119ое" ?

Всем заранее Спасибо!
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
mr.smart
сообщение Nov 3 2010, 17:16
Сообщение #2


Участник
*

Группа: Участник
Сообщений: 28
Регистрация: 2-10-10
Пользователь №: 59 884



Эээм, прошу прощения за мой предыдущий пост с толстым кодом. Не сообразил использовать codebox, а сейчас уже вроде как нельзя отредактировать.

Ну значит я пока решил отложить вопрос с тем примером и перешел на простой Атмеловский пример BasicUSB.
Настроил CDC, разговор с платой веду через гипертерминал. Проблема осталась практически той же: при повторном использовании фун-ии write, программа зависает. Оказалось что при повторном использовании записи когда в ее финале происходит проверка на завершение передачи не приходит бит TXCOMP.
Код
//Wait for the end of transfer
while ( !(pUdp->UDP_CSR[AT91C_EP_IN] & AT91C_UDP_TXCOMP) )
  if ( !AT91F_UDP_IsConfigured(pCdc) ) return length;
pUdp->UDP_CSR[AT91C_EP_IN] &= ~(AT91C_UDP_TXCOMP);
while (pUdp->UDP_CSR[AT91C_EP_IN] & AT91C_UDP_TXCOMP);


И из первого while'а программа выйти не может. В чем может быть проблема?
Go to the top of the page
 
+Quote Post



Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 22nd July 2025 - 00:08
Рейтинг@Mail.ru


Страница сгенерированна за 0.01402 секунд с 7
ELECTRONIX ©2004-2016