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

 
 
5 страниц V  « < 3 4 5  
Reply to this topicStart new topic
> USB Device на AT91SAM7, Насколько сложно и что нужно
Artem
сообщение Aug 27 2007, 07:27
Сообщение #61


Участник
*

Группа: Свой
Сообщений: 72
Регистрация: 4-02-05
Пользователь №: 2 424



To Pasha_111:
Не могли бы Вы послать USBWorkframe на Ctrl_Shift@ngs.ru
Заранее спасибо. А то в моей версии такого нет, а качать ради одного примера - не хотца smile.gif
Go to the top of the page
 
+Quote Post
Pasha 111
сообщение Aug 29 2007, 12:44
Сообщение #62


Частый гость
**

Группа: Свой
Сообщений: 154
Регистрация: 6-11-05
Из: Москва
Пользователь №: 10 515



Artem, выслал

Dron_Gus, вставка #include <intrinsics.h> и вызов __enable_interrupt(); не помогли sad.gif

Kitsok, while(1) сделан на случай, кодга во время обработки одного прерывания успевает прийти второе, т.е. какбы за один вызов функции сразу несколько прерываний можно обработать.

2All, возникла такая проблема: в проекте BasicUSB почему-то не передаются пакеты, длина которых кратна 64. В программе под Windows вызывается WriteFile(), которая говорит, что записала 0 байт, если длина посылаемых данных ей казана равной 64 или кратной (128, 256..). Никто с этим не сталкивался? Уже 2 недели пытаюсь разобраться, ужас. Контроллер при этом, естественно, ничего не получает. Стоит указать 63 или 65 байт - всё ОК! Не может быть глюк в самом atm6124.sys?
Go to the top of the page
 
+Quote Post
Kitsok
сообщение Aug 30 2007, 14:05
Сообщение #63


Местный
***

Группа: Свой
Сообщений: 211
Регистрация: 9-11-06
Пользователь №: 22 136



Цитата(brag @ Aug 25 2007, 20:59) *
хи алл!
Мне тож пришлось связатся с усб..скачал доку,почитал,немного понял..но слабо. пробовал перелопатить BasicUSB,но не пошло..я через прерывания делал,чет не получилось..
Потом взял фреймворк,тоже перелопатил.вроде запустилось,но дело доходит до запроса 9(SET CONFIGURATION) и чет оси не нравится.(FreeBSD) пишет INVAL.
Что посоветываете? надо,чтоб жыло на прерываниях и занимало не более 4кб. кристал AT91SAM7S64...
Спасибо


По прерываниям работает пример из FreeRTOS, посмотрите на него. И доку почитайте еще раза три, до полного просветления.

Цитата(Pasha 111 @ Aug 29 2007, 16:44) *
Artem, выслал

Dron_Gus, вставка #include <intrinsics.h> и вызов __enable_interrupt(); не помогли sad.gif

Kitsok, while(1) сделан на случай, кодга во время обработки одного прерывания успевает прийти второе, т.е. какбы за один вызов функции сразу несколько прерываний можно обработать.

2All, возникла такая проблема: в проекте BasicUSB почему-то не передаются пакеты, длина которых кратна 64. В программе под Windows вызывается WriteFile(), которая говорит, что записала 0 байт, если длина посылаемых данных ей казана равной 64 или кратной (128, 256..). Никто с этим не сталкивался? Уже 2 недели пытаюсь разобраться, ужас. Контроллер при этом, естественно, ничего не получает. Стоит указать 63 или 65 байт - всё ОК! Не может быть глюк в самом atm6124.sys?


Про while(1) в обработчике - ну не знаю, по-моему вы недооцениваете скорость обработки прерываний.

Что касается записи пакетов, кратных размеру конечной точки, то см. выше в этой ветке. После такого нужно посылать пустой пакет.
Go to the top of the page
 
+Quote Post

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

 


RSS Текстовая версия Сейчас: 28th August 2025 - 17:30
Рейтинг@Mail.ru


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