39 #ifndef __STM32F401_NUCLEO_IHM07M1_H
40 #define __STM32F401_NUCLEO_IHM07M1_H
42 #include "stm32f4xx_hal.h"
43 #include "main_F401.h"
48 #define HALL_ENCODER_TIMx htim2
53 #define GPIO_PORT_1 GPIOC
54 #define GPIO_CH1 GPIO_PIN_10
55 #define GPIO_PORT_2 GPIOC
56 #define GPIO_CH2 GPIO_PIN_11
57 #define GPIO_PORT_3 GPIOC
58 #define GPIO_CH3 GPIO_PIN_12
59 #define GPIO_SET GPIO_PIN_SET
60 #define GPIO_RESET GPIO_PIN_RESET
62 #define ADC_CH_1 ADC_CHANNEL_11
63 #define ADC_CH_2 ADC_CHANNEL_9
64 #define ADC_CH_3 ADC_CHANNEL_1
65 #define ADC_CH_4 ADC_CHANNEL_12
66 #define ADC_Bemf_CH1 ADC_CHANNEL_13
67 #define ADC_Bemf_CH2 ADC_CHANNEL_8
68 #define ADC_Bemf_CH3 ADC_CHANNEL_7
70 #define ADC_CH_1_ST ADC_SAMPLETIME_3CYCLES
71 #define ADC_CH_2_ST ADC_SAMPLETIME_84CYCLES
72 #define ADC_CH_3_ST ADC_SAMPLETIME_84CYCLES
73 #define ADC_CH_4_ST ADC_SAMPLETIME_84CYCLES
74 #define ADC_Bemf_CH1_ST ADC_SAMPLETIME_28CYCLES
75 #define ADC_Bemf_CH2_ST ADC_SAMPLETIME_28CYCLES
76 #define ADC_Bemf_CH3_ST ADC_SAMPLETIME_28CYCLES
78 #define HF_TIMx_CH1 TIM_CHANNEL_1
79 #define HF_TIMx_CH2 TIM_CHANNEL_2
80 #define HF_TIMx_CH3 TIM_CHANNEL_3
81 #define HF_TIMx_CCR1 CCR1
82 #define HF_TIMx_CCR2 CCR2
83 #define HF_TIMx_CCR3 CCR3
87 #define GPIO_PORT_ZCR GPIOC
88 #define GPIO_CH_ZCR GPIO_PIN_7
89 #define GPIO_PORT_COMM GPIOC
90 #define GPIO_CH_COMM GPIO_PIN_4
103 #define STATUS_CMD 11
104 #define DIRECT_CMD 12
117 void MC_SixStep_ADC_Channel(uint32_t);
118 void MC_SixStep_Nucleo_Init(
void);
119 void START_Ref_Generation(
void);
120 void STOP_Ref_Generation(
void);
121 void Set_Ref_Generation(uint16_t);
122 void START_DAC(
void);
124 void SET_DAC_value(uint16_t);
125 void Bemf_delay_calc(
void);
127 void MC_SixStep_EnableInput_CH1_E_CH2_E_CH3_D(
void);
128 void MC_SixStep_EnableInput_CH1_E_CH2_D_CH3_E(
void);
129 void MC_SixStep_EnableInput_CH1_D_CH2_E_CH3_E(
void);
130 void MC_SixStep_DisableInput_CH1_D_CH2_D_CH3_D(
void);
131 void MC_SixStep_Start_PWM_driving(
void);
132 void MC_SixStep_Stop_PWM_driving(
void);
133 void MC_SixStep_HF_TIMx_SetDutyCycle_CH1(uint16_t);
134 void MC_SixStep_HF_TIMx_SetDutyCycle_CH2(uint16_t);
135 void MC_SixStep_HF_TIMx_SetDutyCycle_CH3(uint16_t);
136 void MC_SixStep_Current_Reference_Start(
void);
137 void MC_SixStep_Current_Reference_Stop(
void);
138 void MC_SixStep_Current_Reference_Setvalue(uint16_t);
uint32_t Get_UART_Data(void)
API function for STM32 instruction.
This file provides the set of functions to manage the X-Nucleo board.