공부/STM32F1
12.[stm32f103][hal] 타이머 (3) _ Timer OC(Output Compare) Interrupt
유저라인
2017. 9. 26. 11:58
728x90
반응형
1. stm32cube 설정
2. 소스
main.c
int main(void)
{
HAL_Init();
SystemClock_Config();
MX_GPIO_Init();
MX_TIM8_Init();
HAL_TIM_OC_Start_IT(&htim8,TIM_CHANNEL_1);
while (1)
{
}
}
stm32f1xx_it.c
에 보면 맨 밑에 내려가면 아래와 같은 함수가 생성되어 있을겁니다.
그 안에 HAL_GPIO_TogglePin(GPIOC, GPIO_PIN_7); 추가하면 됩니다.
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 */
}
이렇게 하면 OC 가 발생 할때 마다 인터럽트가 발생하여 PC6 포트와 같이 PC7 포트도 같은 펄스가 발생할 것 입니다. 아래는 PC7 포트를 측정한 결과 입니다.
|
728x90
반응형