- void initGPIO(void) {
- //EINT_Config_T eintConfig;
- rcu_periph_clock_enable(RCU_GPIOA);
- rcu_periph_clock_enable(RCU_AF);
- /*configure PA6 (TIMER2 CH0) as alternate function*/
- gpio_init(GPIOA, GPIO_MODE_IN_FLOATING, GPIO_OSPEED_50MHZ, GPIO_PIN_8);
- gpio_init(GPIOA, GPIO_MODE_IN_FLOATING, GPIO_OSPEED_50MHZ, GPIO_PIN_9);
- gpio_init(GPIOA, GPIO_MODE_IN_FLOATING, GPIO_OSPEED_50MHZ, GPIO_PIN_4);
-
-
- /* Configure GPIO pin used as EINT Line */
- *(volatile uint32_t *)AFIO_EXTISS1 = 0xFFF0;
- //SYSCFG_EINTLine(SYSCFG_PORT_GPIOA, SYSCFG_PIN_4);
- /* Configure Button exit line */
- //eintConfig.line = EINT_LINE4;
- //eintConfig.lineCmd = ENABLE;
- //eintConfig.mode = EINT_MODE_INTERRUPT;
- //eintConfig.trigger = EINT_TRIGGER_FALLING;
- //EINT_Config(&eintConfig);
- exti_init(EXTI_4,EXTI_INTERRUPT,EXTI_TRIG_FALLING);
- //NVIC_EnableIRQRequest(EXTI4_IRQn, 0x0f);//使能GPIO中断
- nvic_irq_enable(EXTI4_IRQn, 0, 0);
- rcu_periph_clock_enable(RCU_GPIOC);
- rcu_periph_clock_enable(RCU_AF);
- /*Configure PA1 PA2 PA3(TIMER1 CH1 CH2 CH3) as alternate function*/
- gpio_pin_remap_config( GPIO_TIMER2_FULL_REMAP,ENABLE); //引脚重映射
- gpio_init(GPIOC, GPIO_MODE_AF_PP, GPIO_OSPEED_50MHZ, GPIO_PIN_6);
- gpio_init(GPIOC, GPIO_MODE_AF_PP, GPIO_OSPEED_50MHZ, GPIO_PIN_7);
-
- //GPIO_Config_T gpioConfig;
- //USART_Config_T usartConfigStruct;
- /* enable USART and GPIOA clock */
- rcu_periph_clock_enable(RCU_GPIOB);
- rcu_periph_clock_enable(RCU_USART2);
-
- //gpio_pin_remap_config( GPIO_USART2_PARTIAL_REMAP,ENABLE); //引脚重映射
- *(volatile uint32_t *)AFIO_PCF0 &= 0xFFFFFFCF;
- gpio_init(GPIOB, GPIO_MODE_OUT_PP, GPIO_OSPEED_50MHZ, GPIO_PIN_1);
- gpio_bit_reset(GPIOB, GPIO_PIN_1);
- /* configure USART2 Tx as alternate function push-pull */
- gpio_init(GPIOB, GPIO_MODE_AF_PP, GPIO_OSPEED_50MHZ, GPIO_PIN_10);
- /* configure USART2 Rx as alternate function push-pull */
- gpio_init(GPIOB, GPIO_MODE_IN_FLOATING, GPIO_OSPEED_50MHZ, GPIO_PIN_11);
- // 初始化 GPIOB 为旋转编码器输入
- gpio_init(GPIOB, GPIO_MODE_IPU, GPIO_OSPEED_50MHZ, GPIO_PIN_12);
- gpio_init(GPIOB, GPIO_MODE_IPU, GPIO_OSPEED_50MHZ, GPIO_PIN_13);
- gpio_init(GPIOB, GPIO_MODE_IPU, GPIO_OSPEED_50MHZ, GPIO_PIN_14);
- gpio_init(GPIOB, GPIO_MODE_IPU, GPIO_OSPEED_50MHZ, GPIO_PIN_15);
- gpio_init(GPIOC, GPIO_MODE_IPU, GPIO_OSPEED_50MHZ, GPIO_PIN_8);
- gpio_init(GPIOC, GPIO_MODE_IPU, GPIO_OSPEED_50MHZ, GPIO_PIN_9);
- gpio_init(GPIOC, GPIO_MODE_IPU, GPIO_OSPEED_50MHZ, GPIO_PIN_10);
- gpio_init(GPIOC, GPIO_MODE_IPU, GPIO_OSPEED_50MHZ, GPIO_PIN_11);
- }
这是全部GPIO配置