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/stm32F103_nucleo_ihm07m1.h Source File

X-NUCLEO-IHM07M1 X-CUBE-SPN7

stm32F103_nucleo_ihm07m1.h
Go to the documentation of this file.
1 
37 /* Define to prevent recursive inclusion -------------------------------------*/
38 #ifndef __STM32F103_NUCLEO_IHM07M1_H
39 #define __STM32F103_NUCLEO_IHM07M1_H
40 
41  #include "stm32f1xx_hal.h"
42  #include "main_F103.h"
43  #include "X-NUCLEO-IHM07M1.h"
44 
45  #define HF_TIMx htim1
46  #define LF_TIMx htim4
47  #define HALL_ENCODER_TIMx htim2
48  #define ADCx hadc1
49  #define REFx htim3
50  #define UART huart2
51 
52  #define GPIO_PORT_1 GPIOC
53  #define GPIO_CH1 GPIO_PIN_10
54  #define GPIO_PORT_2 GPIOC
55  #define GPIO_CH2 GPIO_PIN_11
56  #define GPIO_PORT_3 GPIOC
57  #define GPIO_CH3 GPIO_PIN_12
58  #define GPIO_SET GPIO_PIN_SET
59  #define GPIO_RESET GPIO_PIN_RESET
60 
61  #define ADC_CH_1 ADC_CHANNEL_11 /*CURRENT*/
62  #define ADC_CH_2 ADC_CHANNEL_9 /*SPEED*/
63  #define ADC_CH_3 ADC_CHANNEL_1 /*VBUS*/
64  #define ADC_CH_4 ADC_CHANNEL_12 /*TEMP*/
65  #define ADC_Bemf_CH1 ADC_CHANNEL_13 /*BEMF1*/
66  #define ADC_Bemf_CH2 ADC_CHANNEL_8 /*BEMF2*/
67  #define ADC_Bemf_CH3 ADC_CHANNEL_7 /*BEMF3*/
68 
69  #define ADC_CH_1_ST ADC_SAMPLETIME_1CYCLE_5 /*CURRENT sampling time */
70  #define ADC_CH_2_ST ADC_SAMPLETIME_28CYCLES_5 /*SPEED sampling time*/
71  #define ADC_CH_3_ST ADC_SAMPLETIME_28CYCLES_5 /*VBUS sampling time*/
72  #define ADC_CH_4_ST ADC_SAMPLETIME_28CYCLES_5 /*TEMP sampling time*/
73  #define ADC_Bemf_CH1_ST ADC_SAMPLETIME_28CYCLES_5 /*BEMF1 sampling time*/
74  #define ADC_Bemf_CH2_ST ADC_SAMPLETIME_28CYCLES_5 /*BEMF2 sampling time*/
75  #define ADC_Bemf_CH3_ST ADC_SAMPLETIME_28CYCLES_5 /*BEMF3 sampling time*/
76 
77  #define HF_TIMx_CH1 TIM_CHANNEL_1
78  #define HF_TIMx_CH2 TIM_CHANNEL_2
79  #define HF_TIMx_CH3 TIM_CHANNEL_3
80  #define HF_TIMx_CCR1 CCR1 /*Channel 1*/
81  #define HF_TIMx_CCR2 CCR2 /*Channel 2*/
82  #define HF_TIMx_CCR3 CCR3 /*Channel 3*/
83 
84  #define DAC_ENABLE 0
85  #define DACx htim3
86  #define DAC_CH TIM_CHANNEL_2
87  #define CCRx CCR2
89  #define GPIO_PORT_ZCR GPIOC
90  #define GPIO_CH_ZCR GPIO_PIN_7
91  #define GPIO_PORT_COMM GPIOC
92  #define GPIO_CH_COMM GPIO_PIN_4
94  #define STARTM_CMD 0
95  #define STOPMT_CMD 1
96  #define SETSPD_CMD 2
97  #define GETSPD_CMD 3
98  #define INIREF_CMD 4
99  #define POLESP_CMD 5
100  #define ACCELE_CMD 6
101  #define DMGCTR_CMD 7
102  #define MAXDMG_CMD 8
103  #define MINDMG_CMD 9
104  #define KP_PRM_CMD 10
105  #define KI_PRM_CMD 11
106  #define POTENZ_CMD 12
107  #define HELP_CMD 13
108  #define STATUS_CMD 14
109  #define DIRECT_CMD 15
122  void MC_SixStep_ADC_Channel(uint32_t);
123  void MC_SixStep_Nucleo_Init(void);
124  void START_Ref_Generation(void);
125  void STOP_Ref_Generation(void);
126  void Set_Ref_Generation(uint16_t);
127  void START_DAC(void);
128  void STOP_DAC(void);
129  void SET_DAC_value(uint16_t);
130  void Bemf_delay_calc(void);
131  uint32_t Get_UART_Data(void);
132  void MC_SixStep_EnableInput_CH1_E_CH2_E_CH3_D(void);
133  void MC_SixStep_EnableInput_CH1_E_CH2_D_CH3_E(void);
134  void MC_SixStep_EnableInput_CH1_D_CH2_E_CH3_E(void);
135  void MC_SixStep_DisableInput_CH1_D_CH2_D_CH3_D(void);
136  void MC_SixStep_Start_PWM_driving(void);
137  void MC_SixStep_Stop_PWM_driving(void);
138  void MC_SixStep_HF_TIMx_SetDutyCycle_CH1(uint16_t);
139  void MC_SixStep_HF_TIMx_SetDutyCycle_CH2(uint16_t);
140  void MC_SixStep_HF_TIMx_SetDutyCycle_CH3(uint16_t);
141  void MC_SixStep_Current_Reference_Start(void);
142  void MC_SixStep_Current_Reference_Stop(void);
143  void MC_SixStep_Current_Reference_Setvalue(uint16_t);
152 #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