728x90
반응형
1.stm32Cube 설정
주파수 = 8000000/80/1000 = 100Hz 듀티비 = 100(주파수)/100(설정값) * 10 = 10% |
2. 소스
main.c
int main(void)
{
HAL_Init();
SystemClock_Config();
MX_GPIO_Init();
MX_TIM8_Init();
/* USER CODE BEGIN 2 */
HAL_TIM_PWM_Start_IT(&htim8, TIM_CHANNEL_1);
/* USER CODE END 2 */
while (1)
{
/* USER CODE END WHILE */
/* USER CODE BEGIN 3 */
}
/* USER CODE END 3 */
}
stm32f1xx_it.c
void TIM8_CC_IRQHandler(void)
{
/* USER CODE BEGIN TIM8_CC_IRQn 0 */
HAL_GPIO_TogglePin(GPIOC, GPIO_PIN_7);
/* USER CODE END TIM8_CC_IRQn 0 */
HAL_TIM_IRQHandler(&htim8);
/* USER CODE BEGIN TIM8_CC_IRQn 1 */
/* USER CODE END TIM8_CC_IRQn 1 */
}
3. 결과
빨간색 펄스가 인터럽에 의한 PC7 포트 토글입니다.
노란색은 PC6포트로 발생된 타이머8 의 PWM 입니다.
728x90
반응형
'공부 > STM32F1' 카테고리의 다른 글
16.[stm32f103][hal]lcd -1602(1) (7) | 2017.11.02 |
---|---|
15.[stm32f103][hal] 타이머 (6) _ Timer PWM One Pulse Mode (0) | 2017.09.28 |
13.[stm32f103][hal] 타이머 (4) _ Timer PWM (0) | 2017.09.28 |
12.[stm32f103][hal] 타이머 (3) _ Timer OC(Output Compare) Interrupt (0) | 2017.09.26 |
11.[stm32f103][hal] 타이머 (2) _ Timer OC(Output Compare) (0) | 2017.09.22 |