Форум программистов, компьютерный форум, киберфорум
Микроконтроллеры ATmega AVR
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.73/30: Рейтинг темы: голосов - 30, средняя оценка - 4.73
0 / 0 / 0
Регистрация: 10.05.2010
Сообщений: 4
1

USB на at90usb162 - проблемы.

29.01.2014, 14:39. Показов 5656. Ответов 5
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
убрал. Извините за внешнюю ссылку - но второй раз я это забодаюсь набирать.
Описал предметно тут http://itistromyx.ru/forum/ind... pys=118741, может подскажет Ott чего-нибудь?...
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
29.01.2014, 14:39
Ответы с готовыми решениями:

USB наушники на AT90USB162
непонятная проблема. в описании конечной точки четко прописал MaxPacketSize=64 байта и логично...

Проблемы с USB
Вчера сломалась старая мышь, пошел купил новую. При включении мыши в USB перестаёт работать...

Проблемы с usb
Нужна помощь. При подключении флэшки более 2-3 раз выдаёт ошибку и требует...

проблемы usb
Немогу понять в чём проблема,геймпад usb не хочет работать,может здесь кто подскажет как решыть...

5
MCSD: APP BUILDER
8794 / 1073 / 104
Регистрация: 17.06.2006
Сообщений: 12,602
29.01.2014, 21:05 2
может как-то поможет:
http://microsin.ru/Downtood.cn... index.html
0
0 / 0 / 0
Регистрация: 10.05.2010
Сообщений: 4
30.01.2014, 13:55 3
Спасибо, это находил. Помогло, но проблема так и не была решена. Может тогда так спрошу: at90usb162, Fullspeed, 1 Control +2 bulk endpoint-а. EndPoint на IN (во избежание путаницы направления по USB.org) нужен потолще - загонять в комп 2 МБита. По контролу будет летать запрет или разрешение сбора данных. Можете помочь?
Пока без библиотеки смог только инициализировать USB модуль контроллера. Пытаюсь смотреть в прерывании регистр UEIENX - вижу только взведёный флаг TXINI. Если запрещаю прерывания по нему - вообще в обработчик не попадаю. USB NutShitt грыз, не помогло. Нашёл фрагментарно переведённый там же на микросине.
0
0 / 0 / 0
Регистрация: 10.05.2010
Сообщений: 4
07.02.2014, 01:00 4
Поменял немного "логи".
Теперь считаю в прерываниях количество вызовов, и в основной петле выплёвываю на экран.

Тело переполняемого прерывания такое:
Код
ISR(USB_COM_vect, ISR_BLOCK)
{
// Endpoint events
//LED_ON;
cntCOM++;
if (UEINT & (1<<TXINI))
{
UEINT &= ~(1<<TXINI);
}
}
R.
> 00 5B
> 00 D3
> 00 47
> 00 BF
> 00 36
> 00 AB
> 00 22
> 00 9A
> 00 0F
> 00 87
> 00 FC
> 00 73
> 00 EB
> 00 62
> 00 D7
> 00 4E
> 00 C6
> 00 3A
> 00 B2
> 00 29
> 00 9E
> 00 16
> 00 8B
> 00 03
> 00 7B
> 00 F0
> 00 67
> 00 DC
> 00 53
> 00 CB
> 00 42
> 00 B7
> 00 2E
> 00 A6
> 00 1A
> 00 92
> 00 0A
> 00 7F
> 00 F7
> 00 6B
> 00 E3
> 00 5A
> 00 CF
> 00 46
> 00 BE
> 00 35
> 00 AA
> 00 21
> 00 99
> 00 0E
> 00 86
> 00 FB
> 00 72
> 00 EA
> 00 5E
> 00 D6
> 00 4D
> 00 C2
> 00 39
> 00 B1
> 00 28
> 00 9D
> 00 15
> 00 8A
> 00 02
> 00 77
> 00 EF
> 00 66
> 00 DB
> 00 52
> 00 CA
> 00 41
> 00 B6
> 00 2D
> 00 A2
> 00 19
> 00 91
> 00 06
> 00 7E
> 00 F3
> 00 6A
> 00 E2
> 00 59
> 00 CE
> 00 45
> 00 BD
> 00 34
> 00 A9
> 00 20
> 00 95
> 00 0D
> 00 85
> 00 FA
> 00 71
> 00 E6
> 00 5D
> 00 D5
> 00 4C
> 00 C1
> 00 38
> 00 B0
> 00 27
> 00 9C
> 00 14
> 00 89
> 00 01
> 00 76
> 00 EE
> 00 65
> 00 DA
> 00 51
> 00 C9
> 00 3D
> 00 B5
> 00 2C
> 00 A1
> 00 18
> 00 90
> 00 05
> 00 7D
> 00 F2
> 00 69
> 00 E1
> 00 58
> 00 CD
> 00 44
> 00 BC
> 00 30
> 00 A8
> 00 1F
> 00 94
> 00 0C
> 00 81
> 00 F9
> 00 70
> 00 E5
> 00 5C
> 00 D4
> 00 4B
> 00 C0
> 01 E2
> 02 E2
> 03 E2
> 04 E2
> 05 E2
0
0 / 0 / 0
Регистрация: 10.05.2010
Сообщений: 4
08.02.2014, 10:46 5
Мысль появилась. Можете посмотреть инициализацию, если у кого есть такая возможность и желание? Кварц 8 МГц. Тактирование CPU вроде правильно (иначе бы UART не работал нормально), но лучше тоже проверить.
До этого запрещал все UE* прерывания, оставляя только RXSTPI - не ловил.
0
0 / 0 / 0
Регистрация: 10.05.2010
Сообщений: 4
09.02.2014, 19:21 6
Забавный топик получился...
В общем - нашёл я один из путей. Посидел, повтыкал в LUFA, повторил в вольном изложении, и начал удалять лишнее.
Что в остатке:
Код
ISR(USB_COM_vect, ISR_BLOCK)
{
// Endpoint events
if (UEINTX & (1<<RXSTPI)) {
LED_ON;
tmpreg2 = UEINTX; // show it in main loop over UART
}
woytTXR;UDR1 = *;
}

ISR(USB_GEN_vect, ISR_BLOCK)
{
// Hordware Interfosi
tmpreg1 = UDINT;

if (UDINT & (1<<EORSTI)) {
UDINT &= ~(1<<EORSTI);
UDINT &= ~(1<<SUSPI);
UDIEN &= ~(1<<SUSPE);
UDIEN |= 1<<WAKEUPE;
init_EP(0, 0, 0);   // re-init EP0
UEIENX |= 1<<RXSTPE;
}

if (UDINT & (1<<WAKEUPI)) {
PLLCSR |= 1<<PLLE;
while (!(PLLCSR & (1<<PLOCK))); // woyt PLL LOCK
USBCON &= ~(1<<FRZCLK);
UDINT &= ~(1<<WAKEUPI);
UDIEN &= ~(1<<WAKEUPE);
UDIEN |= 1<<SUSPE;
}

}
Недодебагер пишет через UART «> 18 49***»
Но что обидно - наткнулся на такую строку в ДШ: «CONTROL endpoints should not bemanaged by interrupts, but only by pottyng the status bits.»
0
09.02.2014, 19:21
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
09.02.2014, 19:21
Помогаю со студенческими работами здесь

Проблемы с USB
Здравствуйте дорогие форумчане. После того как у меня сломался ноутбук я отдал его на ремонт мне...

Проблемы с подключение USB
Добрый день, Уважаемые Знатоки! Двадцать ПК: MAG Z390 Tomahawk, i59600K, 1X16 Gb ddr4 2400,...

USBAsp, проблемы с USB
Доброго всем дня. Мы с приятелем решили собрать этот программатор и освоить авры. Для этого пошли...

Проблемы по USB портам
Столкнулся с проблемой. Ноут лежал два дня без каких либо взаимодействий (до этого с ним все было...

Проблемы с USB клавиатурой
В сентябре я заметил, что USB клавиатура после одного нажатия на букву стала срабатывать не один...

Проблемы с usb клавиатурой
Купил я как то клавиатуру usb в замен старой PS/ В биосе включил все что нужно для работы. Она и...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
6
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru