Jump to content

    

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

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

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

Share this post


Link to post
Share on other sites

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

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;
};

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
Sign in to follow this