|
9 | 9 | #define Z_DIR_PORT (GPIOC)
|
10 | 10 | #define Z_EN_PIN (GPIO_PIN_3)
|
11 | 11 | #define Z_EN_PORT (GPIOA)
|
12 |
| -#define Z_N_BRAKE_PIN(GPIO_PIN_7) |
13 |
| -#define Z_N_BRAKE_PORT(GPIOB) |
| 12 | +#define Z_N_BRAKE_PIN (GPIO_PIN_7) |
| 13 | +#define Z_N_BRAKE_PORT (GPIOB) |
14 | 14 |
|
15 | 15 | /** Limit switches **/
|
16 | 16 | /* Note: Photointerrupters limit switches */
|
|
29 | 29 | #define X_DIR_PORT (GPIOA)
|
30 | 30 | #define X_EN_PIN (GPIO_PIN_4)
|
31 | 31 | #define X_EN_PORT (GPIOA)
|
32 |
| -#define X_N_BRAKE_PIN(GPIO_PIN_9) |
33 |
| -#define X_N_BRAKE_PORT(GPIOB) |
| 32 | +#define X_N_BRAKE_PIN (GPIO_PIN_9) |
| 33 | +#define X_N_BRAKE_PORT (GPIOB) |
34 | 34 |
|
35 | 35 |
|
36 | 36 | /** Limit switches **/
|
|
48 | 48 | #define L_STEP_PORT (GPIOB)
|
49 | 49 | #define L_DIR_PIN (GPIO_PIN_0)
|
50 | 50 | #define L_DIR_PORT (GPIOB)
|
51 |
| -#define L_EN_PIN (GPIO_PIN_4) |
52 |
| -#define L_EN_PORT (GPIOA) |
| 51 | +#define L_EN_PIN (GPIO_PIN_5) |
| 52 | +#define L_EN_PORT (GPIOC) |
53 | 53 |
|
54 | 54 |
|
55 | 55 | /** Limit switches **/
|
|
60 | 60 | #define L_N_RELEASED_PORT (GPIO_PIN_C)
|
61 | 61 |
|
62 | 62 |
|
| 63 | +void motor_hardware_init(void){ |
| 64 | + |
| 65 | + GPIO_InitTypeDef GPIO_InitStruct = {0}; |
| 66 | +/* USER CODE BEGIN MX_GPIO_Init_1 */ |
| 67 | +/* USER CODE END MX_GPIO_Init_1 */ |
| 68 | + |
| 69 | + /* GPIO Ports Clock Enable */ |
| 70 | + __HAL_RCC_GPIOC_CLK_ENABLE(); |
| 71 | + __HAL_RCC_GPIOF_CLK_ENABLE(); |
| 72 | + __HAL_RCC_GPIOA_CLK_ENABLE(); |
| 73 | + __HAL_RCC_GPIOB_CLK_ENABLE(); |
| 74 | + |
| 75 | + /*Configure GPIO pin Output Level */ |
| 76 | + HAL_GPIO_WritePin(GPIOC, Z_DIR_PIN|L_N_HELD_PIN, GPIO_PIN_RESET); |
| 77 | + |
| 78 | + /*Configure GPIO pin Output Level */ |
| 79 | + HAL_GPIO_WritePin(GPIOA, Z_EN_PIN|X_EN_PIN|X_DIR_PIN, GPIO_PIN_RESET); |
| 80 | + |
| 81 | + /*Configure GPIO pin Output Level */ |
| 82 | + HAL_GPIO_WritePin(GPIOB, L_DIR_PIN, GPIO_PIN_RESET); |
| 83 | + |
| 84 | + /*Configure GPIO pins : Z_MINUS_LIMIT_PIN */ |
| 85 | + GPIO_InitStruct.Pin = Z_MINUS_LIMIT_PIN; |
| 86 | + GPIO_InitStruct.Mode = GPIO_MODE_IT_RISING; |
| 87 | + GPIO_InitStruct.Pull = GPIO_NOPULL; |
| 88 | + HAL_GPIO_Init(GPIOC, &GPIO_InitStruct); |
| 89 | + |
| 90 | + /*Configure GPIO pins : Z_DIR_PIN L_EN_PIN */ |
| 91 | + GPIO_InitStruct.Pin = Z_DIR_PIN|L_EN_PIN; |
| 92 | + GPIO_InitStruct.Mode = GPIO_MODE_OUTPUT_PP; |
| 93 | + GPIO_InitStruct.Pull = GPIO_NOPULL; |
| 94 | + GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_LOW; |
| 95 | + HAL_GPIO_Init(GPIOC, &GPIO_InitStruct); |
| 96 | + |
| 97 | + /*Configure GPIO pins : Z_PLUS_LIMIT_PIN LIMIT_X__Pin LIMIT_X_A2_Pin */ |
| 98 | + GPIO_InitStruct.Pin = Z_PLUS_LIMIT_PIN|X_MINUS_LIMIT_PIN|X_PLUS_LIMIT_PIN; |
| 99 | + GPIO_InitStruct.Mode = GPIO_MODE_IT_RISING; |
| 100 | + GPIO_InitStruct.Pull = GPIO_NOPULL; |
| 101 | + HAL_GPIO_Init(GPIOA, &GPIO_InitStruct); |
| 102 | + |
| 103 | + /*Configure GPIO pins : Z_EN_PIN X_EN_PIN X_DIR_PIN */ |
| 104 | + GPIO_InitStruct.Pin = Z_EN_PIN|X_EN_PIN|X_DIR_PIN; |
| 105 | + GPIO_InitStruct.Mode = GPIO_MODE_OUTPUT_PP; |
| 106 | + GPIO_InitStruct.Pull = GPIO_NOPULL; |
| 107 | + GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_LOW; |
| 108 | + HAL_GPIO_Init(GPIOA, &GPIO_InitStruct); |
| 109 | + |
| 110 | + /*Configure GPIO pins : L_DIR_PIN Z_N_BRAKE_PIN X_N_BRAKE_PIN*/ |
| 111 | + GPIO_InitStruct.Pin = L_DIR_PIN | Z_N_BRAKE_PIN | X_N_BRAKE_PIN; |
| 112 | + GPIO_InitStruct.Mode = GPIO_MODE_OUTPUT_PP; |
| 113 | + GPIO_InitStruct.Pull = GPIO_NOPULL; |
| 114 | + GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_LOW; |
| 115 | + HAL_GPIO_Init(GPIOB, &GPIO_InitStruct); |
| 116 | + |
| 117 | + /*Configure GPIO pins : L_N_HELD_PIN */ |
| 118 | + GPIO_InitStruct.Pin = L_N_HELD_PIN; |
| 119 | + GPIO_InitStruct.Mode = GPIO_MODE_IT_RISING; |
| 120 | + GPIO_InitStruct.Pull = GPIO_NOPULL; |
| 121 | + HAL_GPIO_Init(GPIOB, &GPIO_InitStruct); |
| 122 | +} |
| 123 | + |
0 commit comments