ВходНаше всё Теги codebook 无线电组件 Поиск Опросы Закон Вторник
26 ноября
586692 Топик полностью
usb здесь (18.03.2015 17:14, просмотров: 307) ответил il-2 на Схема рабочая. Примеры должны работать, скорее всего ты что-то порушил когда адаптировал. Код давай, прежде всего - код инициализации.
#define USB_pullup_off GPIOA->CRH=(GPIO_CRH_CNF8_0|GPIO_CRH_CNF9_0); // 8,9 floating input, 10-15 analog input #define USB_pullup_on GPIOA->BSRR=GPIO_BSRR_BS10; GPIOA->CRH=(GPIO_CRH_CNF8_0|GPIO_CRH_CNF9_0|GPIO_CRH_MODE10); // 8,9 floating input; 10 outpit; 11-15 analog input; void init(void){ //set HSE=12MHz & PLL=72MHz RCC->CR=(RCC_CR_HSION|RCC_CR_HSEON|RCC_CR_CSSON); FLASH->ACR=(FLASH_ACR_PRFTBE|FLASH_ACR_LATENCY_2); while ((RCC->CR&RCC_CR_HSERDY)!=RCC_CR_HSERDY){} RCC->CFGR=(RCC_CFGR_PLLSRC|RCC_CFGR_PLLMULL6); // &~(RCC_CFGR_USBPRE|RCC_CFGR_PLLXTPRE) 12*6=72MHz RCC->CR=(RCC_CR_HSION|RCC_CR_HSEON|RCC_CR_CSSON|RCC_CR_PLLON); while ((RCC->CR&RCC_CR_PLLRDY)!=RCC_CR_PLLRDY){} RCC->CFGR=(RCC_CFGR_PLLSRC|RCC_CFGR_PLLMULL6|RCC_CFGR_SW_PLL); while ((RCC->CFGR&RCC_CFGR_SWS)!=RCC_CFGR_SWS_PLL){} RCC->APB2ENR=(RCC_APB2ENR_IOPAEN|RCC_APB2ENR_IOPBEN|RCC_APB2ENR_AFIOEN); RCC->APB1ENR=RCC_APB1ENR_USBEN; USB_pullup_off; GPIOA->CRL=0; // analog input GPIOB->CRL=(GPIO_CRL_CNF0_0|GPIO_CRL_CNF1_0|GPIO_CRL_CNF2_0); // 0-2 floating input, 3-7 analog input GPIOB->CRH=(GPIO_CRH_CNF10_0|GPIO_CRH_CNF11_0|GPIO_CRH_CNF12_0|GPIO_CRH_CNF13_0|GPIO_CRH_CNF14_0|GPIO_CRH_CNF15_0); // 8-9 analog input; 10-15 floating input EXTI->PR=EXTI_PR_PR18; EXTI->RTSR=EXTI_RTSR_TR18; // EXTI->IMR=EXTI_IMR_MR18; #define AIRCR_VECTKEY_MASK 0x05FA0000 //SCB->AIRCR=(AIRCR_VECTKEY_MASK|2); NVIC_SetPriority (USB_LP_CAN1_RX0_IRQn,2); NVIC_SetPriority (USBWakeUp_IRQn,1); NVIC_EnableIRQ(USB_LP_CAN1_RX0_IRQn); NVIC_EnableIRQ(USBWakeUp_IRQn); __enable_irq(); // NVIC_EnableIRQ(USB_HP_CAN1_TX_IRQn); }