2015年11月7日 星期六

[stm32] internal timer使用stm32cube


因為discovery 板子上有外接crystal,為了讓之後讓clock可以固定,所以先就設定了RCC,輸入為external crystal



接著設定tim2的clock source為internal timer



clocks configuration的設定如下

目前是設1秒為1次的中斷,所以pre-scler先設47999,counter為999: 這個意思是48M/(47999+1)/(999+1) = 1HZ

這邊要值得注意一下timer2 是使用在APB1 timer的clock source


最後把中斷打開


記得先將上一個實驗TOGGLE的CODE先拿掉,然後在下面幾個地方加入程式片斷,大概就可以看到LED燈一閃一閃了
  /* USER CODE BEGIN 2 */
HAL_TIM_Base_Start_IT(&htim2);
  /* USER CODE END 2 */

/* USER CODE BEGIN 4 */
void HAL_TIM_PeriodElapsedCallback(TIM_HandleTypeDef *htim)
{
HAL_GPIO_TogglePin(GPIOD, GPIO_PIN_12|GPIO_PIN_13|GPIO_PIN_14|GPIO_PIN_15);
}
/* USER CODE END 4 */






1 則留言: