STM32 CubeMX - PWM HAL Code 테스트
STM32F0의 TIMx 클럭은 PCLK가 소스가 된다. 쵀대 48Mhz로 설정 가능
STM32CubeMX 를 이용하여 TIM1, TIM3 설정탭에서 PWM을 설정한다.
파라 미터 설정은 적정한 값으로 설정한다.
이렇게 설정하고 구동 시켜보면 10khz 주파수로 PWM 출력 되는것을 확인 할 수 있다.
STM32 PWM출력 Start
//PWM CH1 Start
HAL_TIM_PWM_Start(&htim1, TIM_CHANNEL_1);
STM32 펄스폭 및 주파수 설정
//펄스폭 가변
TIM1->CCR1 = 50-1;
//주파수 변경
TIM1->ARR = 100-1;
STM32F0 PWM 테스트 코드
int main(void)
{
/* USER CODE BEGIN 1 */
/* USER CODE END 1 */
/* MCU Configuration----------------------------------------------------------*/
/* Reset of all peripherals, Initializes the Flash interface and the Systick. */
HAL_Init();
/* Configure the system clock */
SystemClock_Config();
/* Initialize all configured peripherals */
MX_GPIO_Init();
MX_USART1_UART_Init();
MX_TIM1_Init();
/* USER CODE BEGIN 2 */
/* USER CODE END 2 */
HAL_TIM_PWM_Start(&htim1, TIM_CHANNEL_1);
HAL_TIMEx_PWMN_Start(&htim1, TIM_CHANNEL_1);
//펄스폭 가변
TIM1->CCR1 = 50-1;
//주파수 변경
TIM1->ARR = 100-1;
/* Infinite loop */
/* USER CODE BEGIN WHILE */
while (1)
{
/* USER CODE END WHILE */
/* USER CODE BEGIN 3 */
}
/* USER CODE END 3 */
}