K70学习笔记(5. usb)

来源:互联网 发布:python赚外快 编辑:程序博客网 时间:2024/04/28 14:10

kinetis 的usb 功能跟lpc的不一样,要进行data1/data0切换,比较麻烦

初始化

/**********************************************************/void USB_Init(void){  pu8trace=gu8DebugTrace;    /* Software Configuration */    Setup_Pkt=(tUSB_Setup*)BufferPointer[bEP0OUT_ODD];    gu8USB_State=uPOWER;    /* MPU Configuration */    MPU->CESR=0;                                      //MPU is disable. All accesses from all bus masters are allowed    /** Feed 48MHz to the USB FS clock *///    vfnInitUSBClock(USB_CLOCK);            /* NVIC Configuration */    //enable_irq(INT_USB0 - 16);NVIC_EnableIRQ(USB0_IRQn);        /* USB Module Configuration */    // Reset USB Module    USB0->USBTRC0|=USB_USBTRC0_USBRESET_MASK;    while(FLAG_CHK(USB_USBTRC0_USBRESET_SHIFT,USB0->USBTRC0)){};        // Set BDT Base Register    USB0->BDTPAGE1=(UINT8)((UINT32)tBDTtable>>8);    USB0->BDTPAGE2=(UINT8)((UINT32)tBDTtable>>16);    USB0->BDTPAGE3=(UINT8)((UINT32)tBDTtable>>24);    // Clear USB Reset flag    FLAG_SET(USB_ISTAT_USBRST_MASK,USB0->ISTAT);    // Enable USB Reset Interrupt    FLAG_SET(USB_INTEN_USBRSTEN_SHIFT,USB0->INTEN);        // Enable weak pull downs    USB0->USBCTRL=0x40;    USB0->USBTRC0|=0x40;    USB0->CTL|=0x01;}


0 0
原创粉丝点击