Jump to content

    
Sign in to follow this  
template

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

Recommended Posts

Никак не могу анимировать 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

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Sign in to follow this