Код: Выделить всё
/* USER CODE BEGIN 2 */
/*всё выключено*/
HAL_GPIO_WritePin(EN_GPIO_Port, EN_Pin, GPIO_PIN_RESET);
HAL_GPIO_WritePin(STBY_GPIO_Port, STBY_Pin, GPIO_PIN_RESET);
/*инициализации на fullstep*/
HAL_GPIO_WritePin(M1_GPIO_Port, M1_Pin, GPIO_PIN_RESET);
HAL_GPIO_WritePin(M2_GPIO_Port, M2_Pin, GPIO_PIN_RESET);
HAL_GPIO_WritePin(M3_GPIO_Port, M3_Pin, GPIO_PIN_RESET);
HAL_GPIO_WritePin(M4_GPIO_Port, M4_Pin, GPIO_PIN_RESET);
HAL_Delay(1);
HAL_GPIO_WritePin(STBY_GPIO_Port, STBY_Pin, GPIO_PIN_SET);
HAL_Delay(1);
HAL_GPIO_WritePin(EN_GPIO_Port, EN_Pin, GPIO_PIN_SET);
HAL_Delay(1);
HAL_TIM_Base_Start(&htim1); //запуск таймера
HAL_TIM_PWM_Start(&htim1, TIM_CHANNEL_1); //разрешение ШИМ на M3
HAL_Delay(10000);
/*всё выключаем*/
HAL_GPIO_WritePin(EN_GPIO_Port, EN_Pin, GPIO_PIN_RESET);
HAL_GPIO_WritePin(STBY_GPIO_Port, STBY_Pin, GPIO_PIN_RESET);
HAL_Delay(1);
TIM1->CCR1 = 0; //M3 в ноль (через коэф. заполнения ШИМ = 0 )
/*инициализации на 1/32 */
HAL_GPIO_WritePin(M1_GPIO_Port, M1_Pin, GPIO_PIN_RESET);
HAL_GPIO_WritePin(M2_GPIO_Port, M2_Pin, GPIO_PIN_SET);
TIM1->CCR1 = 0; //M3 в ноль (через коэф. заполнения ШИМ = 0 )
HAL_GPIO_WritePin(M4_GPIO_Port, M4_Pin, GPIO_PIN_RESET);
HAL_Delay(1);
HAL_GPIO_WritePin(STBY_GPIO_Port, STBY_Pin, GPIO_PIN_SET);
HAL_Delay(1);
HAL_GPIO_WritePin(EN_GPIO_Port, EN_Pin, GPIO_PIN_SET);
HAL_Delay(1);
TIM1->CCR1 = 500; //ШИМ с коэф. заполнения 50%
HAL_Delay(10000);
/*всё выключаем*/
HAL_GPIO_WritePin(EN_GPIO_Port, EN_Pin, GPIO_PIN_RESET);
HAL_GPIO_WritePin(STBY_GPIO_Port, STBY_Pin, GPIO_PIN_RESET);
HAL_Delay(1);
TIM1->CCR1 = 0; //M3 в ноль (через коэф. заполнения ШИМ = 0 )
/*инициализации на 1/32 */
HAL_GPIO_WritePin(M1_GPIO_Port, M1_Pin, GPIO_PIN_SET);
HAL_GPIO_WritePin(M2_GPIO_Port, M2_Pin, GPIO_PIN_RESET);
TIM1->CCR1 = 0; //M3 в ноль (через коэф. заполнения ШИМ = 0 )
HAL_GPIO_WritePin(M4_GPIO_Port, M4_Pin, GPIO_PIN_RESET);
HAL_Delay(1);
HAL_GPIO_WritePin(STBY_GPIO_Port, STBY_Pin, GPIO_PIN_SET);
HAL_Delay(1);
HAL_GPIO_WritePin(EN_GPIO_Port, EN_Pin, GPIO_PIN_SET);
HAL_Delay(1);
TIM1->CCR1 = 500; //ШИМ с коэф. заполнения 50%