X-CUBE-SPN7 for X-NUCLEO-IHM07M1: C:/Users/giuseppe scuderi-sl/Desktop/MOTOR CONTROL/Peppe/trunk/Firmware/X-CUBE-SPN7-MC-6STEP/Projects/Multi/Examples/MotorControl/Inc/stm32F401_nucleo_ihm07m1.h Source File

X-NUCLEO-IHM07M1 X-CUBE-SPN7

stm32F401_nucleo_ihm07m1.h
Go to the documentation of this file.
1 
38 /* Define to prevent recursive inclusion -------------------------------------*/
39 #ifndef __STM32F401_NUCLEO_IHM07M1_H
40 #define __STM32F401_NUCLEO_IHM07M1_H
41 
42  #include "stm32f4xx_hal.h"
43  #include "main_F401.h"
44  #include "X-NUCLEO-IHM07M1.h"
45 
46  #define HF_TIMx htim1
47  #define LF_TIMx htim4
48  #define HALL_ENCODER_TIMx htim2
49  #define ADCx hadc1
50  #define DACx htim3
51  #define UART huart2
52 
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
61 
62  #define ADC_CH_1 ADC_CHANNEL_11 /*CURRENT*/
63  #define ADC_CH_2 ADC_CHANNEL_9 /*SPEED*/
64  #define ADC_CH_3 ADC_CHANNEL_1 /*VBUS*/
65  #define ADC_CH_4 ADC_CHANNEL_12 /*TEMP*/
66  #define ADC_Bemf_CH1 ADC_CHANNEL_13 /*BEMF1*/
67  #define ADC_Bemf_CH2 ADC_CHANNEL_8 /*BEMF2*/
68  #define ADC_Bemf_CH3 ADC_CHANNEL_7 /*BEMF3*/
69 
70  #define ADC_CH_1_ST ADC_SAMPLETIME_3CYCLES /*CURRENT sampling time */
71  #define ADC_CH_2_ST ADC_SAMPLETIME_84CYCLES /*SPEED sampling time*/
72  #define ADC_CH_3_ST ADC_SAMPLETIME_84CYCLES /*VBUS sampling time*/
73  #define ADC_CH_4_ST ADC_SAMPLETIME_84CYCLES /*TEMP sampling time*/
74  #define ADC_Bemf_CH1_ST ADC_SAMPLETIME_28CYCLES /*BEMF1 sampling time*/
75  #define ADC_Bemf_CH2_ST ADC_SAMPLETIME_28CYCLES /*BEMF2 sampling time*/
76  #define ADC_Bemf_CH3_ST ADC_SAMPLETIME_28CYCLES /*BEMF3 sampling time*/
77 
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 /*Channel 1*/
82  #define HF_TIMx_CCR2 CCR2 /*Channel 2*/
83  #define HF_TIMx_CCR3 CCR3 /*Channel 3*/
84 
85  #define DAC_ENABLE 0
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
92  #define STARTM_CMD 0
93  #define STOPMT_CMD 1
94  #define SETSPD_CMD 2
95  #define GETSPD_CMD 3
96  #define INIREF_CMD 4
97  #define POLESP_CMD 5
98  #define ACCELE_CMD 6
99  #define KP_PRM_CMD 7
100  #define KI_PRM_CMD 8
101  #define POTENZ_CMD 9
102  #define HELP_CMD 10
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);
123  void STOP_DAC(void);
124  void SET_DAC_value(uint16_t);
125  void Bemf_delay_calc(void);
126  uint32_t Get_UART_Data(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);
146 #endif
uint32_t Get_UART_Data(void)
API function for STM32 instruction.
This file provides the set of functions to manage the X-Nucleo board.
Generated on Fri Sep 11 2015 16:47:21 for X-CUBE-SPN7 for X-NUCLEO-IHM07M1 by   doxygen 1.8.9.1