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

 
 
> AT90USB1286 прерывание VBUSTI, Подскажите как увидеть прерывание в эмуляторах
harper
сообщение Jan 7 2009, 01:48
Сообщение #1





Группа: Новичок
Сообщений: 13
Регистрация: 6-05-08
Пользователь №: 37 334



Самой железки пока нет. Пробую в Proteus и AVR Studio такой код для AT90USB1286:
Код
ISR(USB_GEN_vect)
{ USBINT = 0;}
int main(void)
{
// разрешить VBUS detection и VBUS Transition interrupt
// то есть определение подключения или отключения устройства
USBCON |= (1 << OTGPADE)|(1 << VBUSTE);
USBINT = 0;
// Global enable interrupts
sei();
while(1){}

Прерывания VBUSTI нет. Ставил и VBUS и VBUSTI. В чем проблема? Спасибо.
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
VladimirYU
сообщение Jan 7 2009, 07:06
Сообщение #2


Местный
***

Группа: Свой
Сообщений: 426
Регистрация: 5-04-07
Из: Санкт-Петербург
Пользователь №: 26 782



Цитата(harper @ Jan 7 2009, 04:48) *
Самой железки пока нет. Пробую в Proteus и AVR Studio такой код для AT90USB1286:
Код
ISR(USB_GEN_vect)
{ USBINT = 0;}
int main(void)
{
// разрешить VBUS detection и VBUS Transition interrupt
// то есть определение подключения или отключения устройства
USBCON |= (1 << OTGPADE)|(1 << VBUSTE);
USBINT = 0;
// Global enable interrupts
sei();
while(1){}

Прерывания VBUSTI нет. Ставил и VBUS и VBUSTI. В чем проблема? Спасибо.

А где код обработчика?

Цитата(VladimirYU @ Jan 7 2009, 10:01) *
А где код обработчика?

В догонку. Что WDT, что с разрешением прерывания, и.... , а как ПРОТЕУС на это смотрит?
Go to the top of the page
 
+Quote Post
harper
сообщение Jan 7 2009, 09:49
Сообщение #3





Группа: Новичок
Сообщений: 13
Регистрация: 6-05-08
Пользователь №: 37 334



Цитата(VladimirYU @ Jan 7 2009, 10:06) *
А где код обработчика?
В догонку. Что WDT, что с разрешением прерывания, и.... , а как ПРОТЕУС на это смотрит?


Код обработчика USBINT = 0;, да хоть любой другой.
Вызывает сомнения Proteus? Можно рассматривать только AVR Studio. При установке бита VBUS и даже VBUSTI прерывания не происходит.
Go to the top of the page
 
+Quote Post
VladimirYU
сообщение Jan 7 2009, 10:04
Сообщение #4


Местный
***

Группа: Свой
Сообщений: 426
Регистрация: 5-04-07
Из: Санкт-Петербург
Пользователь №: 26 782



Цитата(harper @ Jan 7 2009, 12:49) *
Код обработчика USBINT = 0;, да хоть любой другой.
Вызывает сомнения Proteus? Можно рассматривать только AVR Studio. При установке бита VBUS и даже VBUSTI прерывания не происходит.

Только предположение. Далеко не вся переферия полностю моделируется симуляторами, и система прерываний в том числе. И все же вопрос про WDT актуален, явно запретите его, т.к. глюк с его симуляцией в студии раньше был.
Go to the top of the page
 
+Quote Post
harper
сообщение Jan 7 2009, 10:58
Сообщение #5





Группа: Новичок
Сообщений: 13
Регистрация: 6-05-08
Пользователь №: 37 334



Цитата(VladimirYU @ Jan 7 2009, 13:04) *
Только предположение. Далеко не вся переферия полностю моделируется симуляторами, и система прерываний в том числе. И все же вопрос про WDT актуален, явно запретите его, т.к. глюк с его симуляцией в студии раньше был.

В моем случае с WDT все в порядке. В коде, указанном выше, я могу заменить данное прерывание на тоже асинхронное INT0 по Low Level и симуляция прекрасно работает. Вопрос именно к тем, кто работает с AT90USB. Может в коде чего-то не хватает? Или проблема симуляторов?
Go to the top of the page
 
+Quote Post
Xenia
сообщение Jan 8 2009, 19:37
Сообщение #6


Гуру
******

Группа: Модератор FTP
Сообщений: 4 479
Регистрация: 20-02-08
Из: Москва
Пользователь №: 35 237



36. Errata
37. AT90USB1287/6 Errata.

37.4. AT90USB1287/6 Third Release
• Incorrect CPU behavior for VBUSTI and IDTI interrupts routines

5. Incorrect CPU behavior for VBUSTI and IDTI interrupts routines
The CPU core may incorrectly execute the interrupt vector related to the VBUSTI and IDTI interrupt flags.

Problem fix/workaround
Do not enable these interrupts, firmware must process these USB events by polling VBUSTI and IDTI flags.

Сообщение отредактировал Xenia - Jan 8 2009, 19:43
Go to the top of the page
 
+Quote Post



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

 


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


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