#include "gpio.h" extern void GPIO_Init(void) { rcu_periph_clock_enable(RCU_GPIOA); rcu_periph_clock_enable(RCU_GPIOB); rcu_periph_clock_enable(RCU_GPIOF); //初始化配置霍尔输入引脚 gpio_mode_set(HALL_SENSOR_A_PORT, GPIO_MODE_AF, GPIO_PUPD_NONE, HALL_SENSOR_A_PIN); gpio_af_set(HALL_SENSOR_A_PORT, GPIO_AF_1, HALL_SENSOR_A_PIN); gpio_mode_set(HALL_SENSOR_B_PORT, GPIO_MODE_AF, GPIO_PUPD_NONE, HALL_SENSOR_B_PIN); gpio_af_set(HALL_SENSOR_B_PORT, GPIO_AF_1, HALL_SENSOR_B_PIN); gpio_mode_set(HALL_SENSOR_C_PORT, GPIO_MODE_INPUT, GPIO_PUPD_NONE, HALL_SENSOR_C_PIN); //初始化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_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); // //初始化配置LED引脚 // gpio_mode_set(LED_PORT, GPIO_MODE_OUTPUT, GPIO_PUPD_NONE, LED_PIN); //LED // gpio_bit_write(LED_PORT, LED_PIN, RESET); //led on // //初始化配置开关输入 // gpio_mode_set(SW_IN_PORT, GPIO_MODE_INPUT, GPIO_PUPD_NONE, SW_IN_PIN); //初始化配置SDH2136 gpio_mode_set(SDH2136_EN_PORT, GPIO_MODE_OUTPUT, GPIO_PUPD_NONE, SDH2136_EN_PIN); //EN gpio_mode_set(SDH2136_FAULT_PORT, GPIO_MODE_INPUT, GPIO_PUPD_NONE, SDH2136_FAULT_PIN); //fault } /************************************************************************* * 硬件接口函数定义 * ***********************************************************************/ extern void Set_LedOn(void) { gpio_bit_write(LED_PORT, LED_PIN, RESET); } extern void Set_LedOff(void) { gpio_bit_write(LED_PORT, LED_PIN, SET); } extern void Set_SDH2136_Enable(void) { gpio_bit_write(SDH2136_EN_PORT, SDH2136_EN_PIN, SET); } extern void Set_SDH2136_Disable(void) { gpio_bit_write(SDH2136_EN_PORT, SDH2136_EN_PIN, RESET); } extern uint8_t Get_SDH2136FaultState(void) { return (uint8_t)(gpio_input_bit_get(SDH2136_FAULT_PORT, SDH2136_FAULT_PIN)); } extern uint8_t Get_SwitchInputState(void) { return (uint8_t)(gpio_input_bit_get(SW_IN_PORT, SW_IN_PIN)); } extern uint8_t Get_HallSensorA_State(void) { return (uint8_t)(gpio_input_bit_get(HALL_SENSOR_A_PORT, HALL_SENSOR_A_PIN)); } extern uint8_t Get_HallSensorB_State(void) { return (uint8_t)(gpio_input_bit_get(HALL_SENSOR_B_PORT, HALL_SENSOR_B_PIN)); } extern uint8_t Get_HallSensorC_State(void) { return (uint8_t)(gpio_input_bit_get(HALL_SENSOR_C_PORT, HALL_SENSOR_C_PIN)); }