Перейти к содержанию

    

Помогите новичку запустить USBB AT32UC3A3256

Никак не могу анимировать USBB-модуль. В частности, пытаюсь прописать конфигурационные регистры конечных точек UECFGn (адреса 0xFFFE0100-0xFFFE011C) но они не прописываются, то есть в отладчике наблюдаю что они остаются неизменными.

Отлаживаю из среды Atmel Studio 6 через AVR ONE JTAG.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Функция где инициализирую юсб-модуль

int EngageUsbb()
{
int i;
avr32_usbb_uecfg0_t	*pUeCfg;

InitCfgFullDescriptor();

//reset device connection 
AVR32_USBB.UDCON.detach=1;


AVR32_GPIO.port[CFG_USBID_GPIO_PORT].gferc=0x01<<CFG_USBID_GPIO_PORT_PIN;
AVR32_GPIO.port[CFG_USBID_GPIO_PORT].pmr0=gpio_fmux_pmr0(CFG_USBB_USBID_FUNCTION
,CFG_USBID_GPIO_PORT_PIN);
AVR32_GPIO.port[CFG_USBID_GPIO_PORT].pmr1=gpio_fmux_pmr1(CFG_USBB_USBID_FUNCTION
,CFG_USBID_GPIO_PORT_PIN);
AVR32_GPIO.port[CFG_USBID_GPIO_PORT].puers=0x01<<CFG_USBID_GPIO_PORT_PIN;

AVR32_USBB.USBCON.uimod=USBB_MODE_DEVICE;
AVR32_USBB.USBCON.uide=USBB_MODE_SRCSEL_USBID;


if(AVR32_USBB.USBSTA.id!=CFG_USBB_USBID_BIT)
return ERR_USBB_HOSTDEVICE_MODE_CFG;

AVR32_USBB.uerst=USBB_CFG_UERST;
pUeCfg=&AVR32_USBB.UECFG0;
for(i=0; i < UC3A3256_USBB_EP_NUM ; i++ )
 pUeCfg[i]=_UepCfg[i];

AVR32_USBB.USBCON.usbe=1;
AVR32_USBB.USBCON.frzclk=0;

// Adjust interrupt system
AVR32_USBB.udinteclr=(ULONG)0xFFFFFFFF;
AVR32_USBB.udinteset=USBB_CFG_UDINT_INTMASK;


AVR32_USBB.UDCON.detach=0;

return 0;
};

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Для публикации сообщений создайте учётную запись или авторизуйтесь

Вы должны быть пользователем, чтобы оставить комментарий

Создать учетную запись

Зарегистрируйте новую учётную запись в нашем сообществе. Это очень просто!

Регистрация нового пользователя

Войти

Уже есть аккаунт? Войти в систему.

Войти
Авторизация