tao_z
2021-06-14 b150690b6ebe42a4ffd50278d761b8994121eb94
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
#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));
}