Микроконтроллеры, АЦП, память и т.д Темы касающиеся микроконтроллеров разных производителей, памяти, АЦП/ЦАП, периферийных модулей... |
18.01.2010, 11:18
|
|
Частый гость
Регистрация: 03.03.2008
Сообщений: 31
Сказал спасибо: 1
Сказали Спасибо 0 раз(а) в 0 сообщении(ях)
|
Re: Осваиваем USBee
Создаю USB HID-устройство на SAM7S64 на основе примера от Атмел. Поллинг заменил прерываниями. При этом, в бесконечном цикле функции main() постоянно посылаю буфер через EndPoint1 (проверяя, конечно, бит TXPKTRDY). Хост, соответственно, постоянно считывает этот буфер.
Также, со стороны хоста запрашиваю строку продукта с помощью функции HidD_GetProductString, которая передается устройством через EndPoint0.
Все бы хорошо, но запрашиваемую строку продукта удается прочитать всего 5-6 (иногда - больше) раз. Потом устройство "зависает": крутится в бесконечном цикле основной функции main(), и на прерывания от конечных точек больше не реагирует.
Если же убрать циклическую посылку данных через EndPoint1, то все становится ОК: строка продукта читается функцией HidD_GetProductString сколь угодно много раз.
Полагаю, проблема в том, что запрос HidD_GetProductString, который приходит из хоста в случайные моменты времени, накладывается по времени на обработку передачи данных через EndPoint1.
Как же организовать работу с прерываниями в USB, когда нужно, чтобы данные в хост шли более-менее регулярно (как во всяком HID-устройстве), и устройство при этом нормально реагировало на запросы по нулевой конечной точке?
Или при обработке прерывания от какой-л. конечной точки нужно запрещать все остальные конечные точки?
Или же ткните носом в какой-нибудь несложный, но грамотный USB-проект на SAM7S, где бы работа была организована на прерываниях.
Спасибо.
|
|
|
|
18.01.2010, 11:52
|
|
Почётный гражданин KAZUS.RU
Регистрация: 12.11.2004
Адрес: Москва
Сообщений: 8,573
Сказал спасибо: 702
Сказали Спасибо 4,336 раз(а) в 1,987 сообщении(ях)
|
Re: Осваиваем USBee
Уважаемый lockout, честь Вам и хвала за такие серьезные наезды на этот неприступный чип(я имею ввиду конечно кипарис).
Но здесь мы так глубоко не копаем и вряд ли сможем чем то помочь. Я то и фифо на все 4К пока не могу организовать(с USB вообще не связываюсь, только ядром).
А вот на electronix.ru обитают подобные Вам монстры USB и если Вы сделаете там поиск по предмету, то %% на 90 найдете у кого спросить.
Последний раз редактировалось Kabron; 18.01.2010 в 11:55.
|
|
|
|
18.01.2010, 20:51
|
|
Временная регистрация
Регистрация: 29.03.2005
Сообщений: 86
Сказал спасибо: 6
Сказали Спасибо 45 раз(а) в 21 сообщении(ях)
|
Re: Осваиваем USBee
Локауту: немного удивлен, что в обсуждение "Кипариса" неожиданно затесался вопрос, касающийся ARM от Atmel. Недавно сам пробовал изучить работу USB HID на примере Atmel для IDE IAR. Правда, с другим чипом - AT91SAM7X256, но в нашем случае (USB HID) разницы не будет почти никакой. Там все сделано "как доктор прописал", т. е. по прерываниям. Пока разобрался что к чему, пришлось повозиться. Если интересно, почитайте про мои изыскания тут - " AT91SAM7X256 - пишем USB HID и ПО хоста для него". Там и проект можете скачать.
Карбону: и где давно обещаный монитор?
Последний раз редактировалось microsin; 18.01.2010 в 20:58.
|
|
|
|
19.01.2010, 00:43
|
|
Почётный гражданин KAZUS.RU
Регистрация: 12.11.2004
Адрес: Москва
Сообщений: 8,573
Сказал спасибо: 702
Сказали Спасибо 4,336 раз(а) в 1,987 сообщении(ях)
|
Re: Осваиваем USBee
Выкладываю все Кейл -мониторы для microsin, backa и всех любопытствующих.
Пара слов: находиться они должны в типа:C:\Cypress\USB\Target\Monitor\, те обязат. дб установлена USB Sute от Cypress. Подлключается монитор как дебаггер в установках дебаггера Кейла. Программу придется сместить вверх ручками примерно на 0х2000, чтобы дать место монитору, сам Кейл них не делает- тока монитор подключает и загружает. На их сайте обширнейший knowledgebase, там можно найти почти все ответы.
PS Еще светодиодик минусом на землю через резюк на пин BPKT повесьте - будет загораться при загруженном мониторе. И вообще нога для отладки полезная - читайте мануал.
Последний раз редактировалось Kabron; 22.01.2010 в 06:13.
|
|
|
Эти 4 пользователя(ей) сказали Спасибо Kabron за это сообщение:
|
|
|
19.01.2010, 10:48
|
|
Временная регистрация
Регистрация: 29.03.2005
Сообщений: 86
Сказал спасибо: 6
Сказали Спасибо 45 раз(а) в 21 сообщении(ях)
|
Re: Осваиваем USBee
Млин, ну так бы сразу, наконец конструктивная инфа появилась. И зачем было пальцы гнуть - "да занятой я", "ищите сами...". Короче респект и уважуха.
Плывут пароходы - привет Карбону! Пролетают летчики - привет Карбону!
Пробегут паровозы - привет Карбону! А пройдут пионеры - салют Карбону!
" USB Sute от Cypress" - его откуда можно увести?
|
|
|
|
19.01.2010, 11:27
|
|
Частый гость
Регистрация: 03.03.2008
Сообщений: 31
Сказал спасибо: 1
Сказали Спасибо 0 раз(а) в 0 сообщении(ях)
|
Re: Осваиваем USBee
благодарю, возможно, это именно то, что мне нужно.
приношу извинения за оффтоп.
|
|
|
|
19.01.2010, 15:45
|
|
Почётный гражданин KAZUS.RU
Регистрация: 13.02.2008
Адрес: Днепр. Украина
Сообщений: 3,294
Сказал спасибо: 442
Сказали Спасибо 1,048 раз(а) в 706 сообщении(ях)
|
Re: Осваиваем USBee
Сообщение от microsin
|
"USB Sute от Cypress" - его откуда можно увести?
|
Прямая ссылка была в этой теме или в теме про ДХ,
|
|
|
|
19.01.2010, 16:17
|
|
Временная регистрация
Регистрация: 01.04.2007
Сообщений: 79
Сказал спасибо: 19
Сказали Спасибо 10 раз(а) в 8 сообщении(ях)
|
Re: Осваиваем USBee
офф топ...
поздравляю всех Вас с первой сотней
|
|
|
|
19.01.2010, 16:37
|
|
Почётный гражданин KAZUS.RU
Регистрация: 26.01.2007
Сообщений: 3,123
Сказал спасибо: 61
Сказали Спасибо 1,153 раз(а) в 624 сообщении(ях)
|
Re: Осваиваем USBee
Сообщение от microsin
|
"USB Sute от Cypress" - его откуда можно увести?
|
_http://cypress-suite-usb.software.informer.com/
|
|
|
|
19.01.2010, 17:34
|
|
Временная регистрация
Регистрация: 01.04.2007
Сообщений: 79
Сказал спасибо: 19
Сказали Спасибо 10 раз(а) в 8 сообщении(ях)
|
Re: Осваиваем USBee
|
|
|
|
Ваши права в разделе
|
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения
HTML код Выкл.
|
|
|
Часовой пояс GMT +4, время: 18:18.
|
|