39 #ifndef __STM32F030_NUCLEO_IHM07M1_H
40 #define __STM32F030_NUCLEO_IHM07M1_H
42 #include "stm32f0xx_hal.h"
43 #include "main_F030.h"
49 #define HALL_ENCODER_TIMx htim2
54 #define GPIO_PORT_1 GPIOC
55 #define GPIO_CH1 GPIO_PIN_10
56 #define GPIO_PORT_2 GPIOC
57 #define GPIO_CH2 GPIO_PIN_11
58 #define GPIO_PORT_3 GPIOC
59 #define GPIO_CH3 GPIO_PIN_12
60 #define GPIO_SET GPIO_PIN_SET
61 #define GPIO_RESET GPIO_PIN_RESET
63 #define ADC_CH_1 ADC_CHANNEL_11
64 #define ADC_CH_2 ADC_CHANNEL_9
65 #define ADC_CH_3 ADC_CHANNEL_1
66 #define ADC_CH_4 ADC_CHANNEL_12
67 #define ADC_Bemf_CH1 ADC_CHANNEL_13
68 #define ADC_Bemf_CH2 ADC_CHANNEL_8
69 #define ADC_Bemf_CH3 ADC_CHANNEL_7
71 #define ADC_CH_1_ST ADC_SAMPLETIME_1CYCLE_5
72 #define ADC_CH_2_ST ADC_SAMPLETIME_1CYCLE_5
73 #define ADC_CH_3_ST ADC_SAMPLETIME_1CYCLE_5
74 #define ADC_CH_4_ST ADC_SAMPLETIME_1CYCLE_5
75 #define ADC_Bemf_CH1_ST ADC_SAMPLETIME_1CYCLE_5
76 #define ADC_Bemf_CH2_ST ADC_SAMPLETIME_1CYCLE_5
77 #define ADC_Bemf_CH3_ST ADC_SAMPLETIME_1CYCLE_5
79 #define HF_TIMx_CH1 TIM_CHANNEL_1
80 #define HF_TIMx_CH2 TIM_CHANNEL_2
81 #define HF_TIMx_CH3 TIM_CHANNEL_3
82 #define HF_TIMx_CCR1 CCR1
83 #define HF_TIMx_CCR2 CCR2
84 #define HF_TIMx_CCR3 CCR3
88 #define DAC_CH TIM_CHANNEL_2
91 #define GPIO_PORT_ZCR GPIOC
92 #define GPIO_CH_ZCR GPIO_PIN_7
93 #define GPIO_PORT_COMM GPIOC
94 #define GPIO_CH_COMM GPIO_PIN_4
106 #define KP_PRM_CMD 10
107 #define KI_PRM_CMD 11
108 #define POTENZ_CMD 12
110 #define STATUS_CMD 14
111 #define DIRECT_CMD 15
124 void MC_SixStep_ADC_Channel(uint32_t);
125 void MC_SixStep_Nucleo_Init(
void);
126 void START_Ref_Generation(
void);
127 void STOP_Ref_Generation(
void);
128 void Set_Ref_Generation(uint16_t);
129 void Bemf_delay_calc(
void);
130 void START_DAC(
void);
132 void SET_DAC_value(uint16_t);
134 void MC_SixStep_EnableInput_CH1_E_CH2_E_CH3_D(
void);
135 void MC_SixStep_EnableInput_CH1_E_CH2_D_CH3_E(
void);
136 void MC_SixStep_EnableInput_CH1_D_CH2_E_CH3_E(
void);
137 void MC_SixStep_DisableInput_CH1_D_CH2_D_CH3_D(
void);
138 void MC_SixStep_Start_PWM_driving(
void);
139 void MC_SixStep_Stop_PWM_driving(
void);
140 void MC_SixStep_HF_TIMx_SetDutyCycle_CH1(uint16_t);
141 void MC_SixStep_HF_TIMx_SetDutyCycle_CH2(uint16_t);
142 void MC_SixStep_HF_TIMx_SetDutyCycle_CH3(uint16_t);
143 void MC_SixStep_Current_Reference_Start(
void);
144 void MC_SixStep_Current_Reference_Stop(
void);
145 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.