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

 
 
> ISP1581+atmega128, Хост не генерит setup запрос
nagserg
сообщение Dec 16 2005, 09:07
Сообщение #1


Участник
*

Группа: Участник
Сообщений: 47
Регистрация: 12-05-05
Пользователь №: 4 940



ISP1581 прицепил к atmega128, которая работает на 16 МГц.
Последовательность действий такая:

После подачи питания делаю задержку в 3 секунды, потом инициализирую

Mode регистр (SOFTCT+GLINTENA+CLKAON+WKUPCS),

Interrupt Configuration (0x54),

Interrupt Enable (IEBRST+IESUSP+IERESM+IEHS_STA),

Interrupt Enable+1 (IEP0SETUP+IEP0TX+IEP0RX),

USB_WR(Address,DEVEN)

после этого возникает прерывание и выставляется регистре interrupt
флаг SUSP, затем через некоторое время BRESET и HS_STAT. Не
могу добится, чтобы возникло прерывание setup.

Подскажите пожалуйста, кто знает что я не так делаю? Может команду какую пропускаю.
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
nagserg
сообщение Jan 18 2006, 13:53
Сообщение #2


Участник
*

Группа: Участник
Сообщений: 47
Регистрация: 12-05-05
Пользователь №: 4 940



Не могу записать прочитать в из конечной точки (использую 2-ю на передачу и 2-ю на прием)

У меня вот так сконфигурированы конечные точки:

D14_Cntrl_Reg->D14_ENDPT_INDEX = 4;//выбрана 2-ая out конечная точка
D14_Cntrl_Reg->D14_ENDPT_MAXPKTSIZE.VALUE = 0x4000; //FIFO=64bytes

D14_Cntrl_Reg->D14_ENDPT_INDEX = 5;////выбрана 2-ая in конечная точка
D14_Cntrl_Reg->D14_ENDPT_MAXPKTSIZE.VALUE = 0x4000;//FIFO=64bytes

D14_Cntrl_Reg->D14_ENDPT_INDEX = 4;//
D14_Cntrl_Reg->D14_ENDPT_TYPE.VALUE = 0x0600; // Bulk, Double buffering

D14_Cntrl_Reg->D14_ENDPT_INDEX = 5;//
D14_Cntrl_Reg->D14_ENDPT_TYPE.VALUE = 0x0600; // Bulk, Double buffering


D14_Cntrl_Reg->D14_ENDPT_INDEX = 4;//
D14_Cntrl_Reg->D14_ENDPT_TYPE.VALUE |= 0x0800; //enable FIFO


D14_Cntrl_Reg->D14_ENDPT_INDEX = 5;//
D14_Cntrl_Reg->D14_ENDPT_TYPE.VALUE |= 0x0800; //enable FIFO

потом D14_Cntrl_Reg->D14_ADDRESS.VALUE = 0x80;// logic 1 enables the device.

После прочтения дескриптора комп дает команду set configuration, после которого можно передавать и принимать с конечных точек, если они конечно разрешены. Вот у меня не получается, хотя в 0-ю конечную точку получается передавать и получать из нее данные.

Подскажите кто-нибудь пожалуйста, после передачи дескриптора что нужно сделать, чтобы конечные точки были доступны?
Go to the top of the page
 
+Quote Post



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

 


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


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