Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: USB Error Event
Форум разработчиков электроники ELECTRONIX.ru > Микроконтроллеры (MCs) > ARM
toweroff
Добрый день

В примерах Keil есть возможность обрабатывать ошибки USB. Из обработчика прерывания вызывается функция, в которую в качестве параметра передается код ошибки
Не то чтобы оно нужно, но заинтересовало, что же за ошибки могут быть. Но то ли в гугле забанили, то ли в usb.org, но что-то не могу найти описания этих ошибок с кодами
Или это у каждого контроллера (точнее, USB-ядра в его составе) свои коды ошибок? Вряд ли...

В общем, поделитесь, пожалуйста, информацией, если есть
aaarrr
Цитата(toweroff @ Mar 4 2014, 02:21) *
Или это у каждого контроллера (точнее, USB-ядра в его составе) свои коды ошибок? Вряд ли...

Свои, если "USB-ядро" не является USB хост-контроллером, совместимым с одним из стандартов (OHCI, EHCI...)
ig_z
QUOTE (toweroff @ Mar 4 2014, 00:21) *
В общем, поделитесь, пожалуйста, информацией, если есть


Я прикрутил к кейловскому стеку (для LPC):

CODE

#if USB_ERROR_EVENT

static const char UsbErrorMsgs[8][32] =
{
"-------| PID_ERR --------------",
"------|- Unexpected Packet ----",
"-----|-- Data CRC error -------",
"----|--- TIMEOUT -------------",
"---|---- End of packet error --",
"--|----- Buffer Overrun -------",
"-|------ Bit stuff error ------",
"|------- Wrong toggle bit -----"
};

void USB_Error_Event(uint32_t error) // void USB_Error_Event (DWORD error)
{
TT_EN(Usb_ErrorEvent);
TT_ERR_MSG("error = 0x%X", error);

if (error & 0x000000FFL)
{
uint32_t i, err_msk;

for (i = 0, err_msk = 0x1; i < 8 ; i++, err_msk <<= 1)
{
if (error & err_msk)
{
TT_ERR_STR(UsbErrorMsgs[i]);
}
}
}

if (error & 0xFFFFFF00L)
{
TT_ERR_STR("USB_UNEXPECTED Error");
}

if (error == 0)
{
TT_ERR_STR("UNEXPECTED (error == 0)");
}

TT_EX();
}

#endif


Реально наблюдал только ошибки "Unexpected Packet" на LPC2368.
На LPC1766 таких ошибок не наблюдал
toweroff
Цитата(ig_z @ Mar 4 2014, 04:20) *
Я прикрутил к кейловскому стеку (для LPC):

Реально наблюдал только ошибки "Unexpected Packet" на LPC2368.
На LPC1766 таких ошибок не наблюдал

спасибо!
стр.379 мануала LP177x... как говорится, смотрю в книгу - вижу фигу biggrin.gif
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.