| | |
| | | { |
| | | rcu_periph_clock_enable(RCU_GPIOA); |
| | | rcu_periph_clock_enable(RCU_GPIOB); |
| | | rcu_periph_clock_enable(RCU_GPIOF); |
| | | |
| | | // rcu_periph_clock_enable(RCU_GPIOF); |
| | | /* enable the CFGCMP clock */ |
| | | rcu_periph_clock_enable(RCU_CFGCMP); |
| | | //初始化配置霍尔输入引脚 |
| | | gpio_mode_set(HALL_SENSOR_A_PORT, GPIO_MODE_INPUT, GPIO_PUPD_NONE, HALL_SENSOR_A_PIN); |
| | | gpio_mode_set(HALL_SENSOR_B_PORT, GPIO_MODE_INPUT, GPIO_PUPD_NONE, HALL_SENSOR_B_PIN); |
| | | gpio_mode_set(HALL_SENSOR_C_PORT, GPIO_MODE_INPUT, GPIO_PUPD_NONE, HALL_SENSOR_C_PIN); |
| | | |
| | | /* connect EXTI line to GPIO pin */ |
| | | syscfg_exti_line_config(EXTI_SOURCE_GPIOB, EXTI_SOURCE_PIN4); |
| | | syscfg_exti_line_config(EXTI_SOURCE_GPIOB, EXTI_SOURCE_PIN5); |
| | | syscfg_exti_line_config(EXTI_SOURCE_GPIOA, EXTI_SOURCE_PIN15); |
| | | |
| | | exti_init(EXTI_4 | EXTI_5 | EXTI_15, EXTI_INTERRUPT, EXTI_TRIG_RISING); //配置外部上升沿中断 |
| | | exti_init(EXTI_4, EXTI_INTERRUPT, EXTI_TRIG_RISING); //配置外部上升沿中断 |
| | | exti_init(EXTI_5, EXTI_INTERRUPT, EXTI_TRIG_RISING); //配置外部上升沿中断 |
| | | exti_init(EXTI_15, EXTI_INTERRUPT, EXTI_TRIG_RISING); //配置外部上升沿中断 |
| | | nvic_irq_enable(EXTI4_15_IRQn, 0U); |
| | | exti_interrupt_flag_clear(EXTI_4 | EXTI_5 | EXTI_15); |
| | | |
| | | //初始化PWM引脚 |
| | | gpio_mode_set(PWM_HIN1_PORT, GPIO_MODE_AF, GPIO_PUPD_NONE, PWM_HIN1_PIN); |
| | | gpio_af_set(PWM_HIN1_PORT, GPIO_AF_2, PWM_HIN1_PIN); |
| | | gpio_output_options_set(PWM_HIN1_PORT, GPIO_OTYPE_PP, GPIO_OSPEED_50MHZ, PWM_HIN1_PIN); |
| | | |
| | | gpio_mode_set(PWM_HIN2_PORT, GPIO_MODE_AF, GPIO_PUPD_NONE, PWM_HIN2_PIN); |
| | | gpio_af_set(PWM_HIN2_PORT, GPIO_AF_2, PWM_HIN2_PIN); |
| | | gpio_output_options_set(PWM_HIN2_PORT, GPIO_OTYPE_PP, GPIO_OSPEED_50MHZ, PWM_HIN2_PIN); |
| | | |
| | | gpio_mode_set(PWM_HIN3_PORT, GPIO_MODE_AF, GPIO_PUPD_NONE, PWM_HIN3_PIN); |
| | | gpio_af_set(PWM_HIN3_PORT, GPIO_AF_2, PWM_HIN3_PIN); |
| | | gpio_output_options_set(PWM_HIN3_PORT, GPIO_OTYPE_PP, GPIO_OSPEED_50MHZ, PWM_HIN3_PIN); |
| | | |
| | | gpio_mode_set(PWM_LIN1_PORT, GPIO_MODE_AF, GPIO_PUPD_NONE, PWM_LIN1_PIN); |
| | | gpio_af_set(PWM_LIN1_PORT, GPIO_AF_2, PWM_LIN1_PIN); |
| | | gpio_output_options_set(PWM_LIN1_PORT, GPIO_OTYPE_PP, GPIO_OSPEED_50MHZ, PWM_LIN1_PIN); |
| | | // gpio_mode_set(PWM_LIN1_PORT, GPIO_MODE_AF, GPIO_PUPD_NONE, PWM_LIN1_PIN); |
| | | // gpio_af_set(PWM_LIN1_PORT, GPIO_AF_2, PWM_LIN1_PIN); |
| | | // gpio_output_options_set(PWM_LIN1_PORT, GPIO_OTYPE_PP, GPIO_OSPEED_50MHZ, PWM_LIN1_PIN); |
| | | |
| | | gpio_mode_set(PWM_LIN2_PORT, GPIO_MODE_AF, GPIO_PUPD_NONE, PWM_LIN2_PIN); |
| | | gpio_af_set(PWM_LIN2_PORT, GPIO_AF_2, PWM_LIN2_PIN); |
| | | gpio_output_options_set(PWM_LIN2_PORT, GPIO_OTYPE_PP, GPIO_OSPEED_50MHZ, PWM_LIN2_PIN); |
| | | // gpio_mode_set(PWM_LIN2_PORT, GPIO_MODE_AF, GPIO_PUPD_NONE, PWM_LIN2_PIN); |
| | | // gpio_af_set(PWM_LIN2_PORT, GPIO_AF_2, PWM_LIN2_PIN); |
| | | // gpio_output_options_set(PWM_LIN2_PORT, GPIO_OTYPE_PP, GPIO_OSPEED_50MHZ, PWM_LIN2_PIN); |
| | | |
| | | gpio_mode_set(PWM_LIN3_PORT, GPIO_MODE_AF, GPIO_PUPD_NONE, PWM_LIN3_PIN); |
| | | gpio_af_set(PWM_LIN3_PORT, GPIO_AF_2, PWM_LIN3_PIN); |
| | | gpio_output_options_set(PWM_LIN3_PORT, GPIO_OTYPE_PP, GPIO_OSPEED_50MHZ, PWM_LIN3_PIN); |
| | | // gpio_mode_set(PWM_LIN3_PORT, GPIO_MODE_AF, GPIO_PUPD_NONE, PWM_LIN3_PIN); |
| | | // gpio_af_set(PWM_LIN3_PORT, GPIO_AF_2, PWM_LIN3_PIN); |
| | | // gpio_output_options_set(PWM_LIN3_PORT, GPIO_OTYPE_PP, GPIO_OSPEED_50MHZ, PWM_LIN3_PIN); |
| | | gpio_mode_set(PWM_LIN1_PORT, GPIO_MODE_OUTPUT, GPIO_PUPD_NONE, PWM_LIN1_PIN); //LIN1 |
| | | gpio_bit_write(PWM_LIN1_PORT, PWM_LIN1_PIN, RESET); |
| | | gpio_mode_set(PWM_LIN2_PORT, GPIO_MODE_OUTPUT, GPIO_PUPD_NONE, PWM_LIN2_PIN); //LIN2 |
| | | gpio_bit_write(PWM_LIN2_PORT, PWM_LIN2_PIN, RESET); |
| | | gpio_mode_set(PWM_LIN3_PORT, GPIO_MODE_OUTPUT, GPIO_PUPD_NONE, PWM_LIN3_PIN); //LIN3 |
| | | gpio_bit_write(PWM_LIN3_PORT, PWM_LIN3_PIN, RESET); |
| | | |
| | | //初始化配置SDH2136 |
| | | gpio_mode_set(SDH2136_EN_PORT, GPIO_MODE_OUTPUT, GPIO_PUPD_NONE, SDH2136_EN_PIN); //EN |
| | |
| | | } |
| | | extern uint8_t Get_HallSensorA_State(void) |
| | | { |
| | | return (uint8_t)(gpio_input_bit_get(HALL_SENSOR_A_PORT, HALL_SENSOR_A_PIN)); |
| | | uint8_t rtn = 0; |
| | | rtn = (SET == gpio_input_bit_get(HALL_SENSOR_A_PORT, HALL_SENSOR_A_PIN)) ? 1 : 0; |
| | | return rtn; |
| | | } |
| | | extern uint8_t Get_HallSensorB_State(void) |
| | | { |
| | | return (uint8_t)(gpio_input_bit_get(HALL_SENSOR_B_PORT, HALL_SENSOR_B_PIN)); |
| | | uint8_t rtn = 0; |
| | | rtn = (SET == gpio_input_bit_get(HALL_SENSOR_B_PORT, HALL_SENSOR_B_PIN)) ? 1 : 0; |
| | | return rtn; |
| | | } |
| | | extern uint8_t Get_HallSensorC_State(void) |
| | | { |
| | | return (uint8_t)(gpio_input_bit_get(HALL_SENSOR_C_PORT, HALL_SENSOR_C_PIN)); |
| | | uint8_t rtn = 0; |
| | | rtn = (SET == gpio_input_bit_get(HALL_SENSOR_C_PORT, HALL_SENSOR_C_PIN)) ? 1 : 0; |
| | | return rtn; |
| | | } |