hal_timer.c 924 B

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849
  1. #include "hal_timer.h"
  2. #include "sys_timer.h"
  3. TIM_HandleTypeDef TIM3_Handler;
  4. void HAL_Timer3Init(u16 arr,u16 psc)
  5. {
  6. TIM3_Handler.Instance=TIM3;
  7. TIM3_Handler.Init.Prescaler=psc;
  8. TIM3_Handler.Init.CounterMode=TIM_COUNTERMODE_UP;
  9. TIM3_Handler.Init.Period=arr;
  10. TIM3_Handler.Init.ClockDivision=TIM_CLOCKDIVISION_DIV1;
  11. HAL_TIM_Base_Init(&TIM3_Handler);
  12. HAL_TIM_Base_Start_IT(&TIM3_Handler);
  13. }
  14. void HAL_TIM_Base_MspInit(TIM_HandleTypeDef *htim)
  15. {
  16. if(htim->Instance==TIM3)
  17. {
  18. __HAL_RCC_TIM3_CLK_ENABLE();
  19. HAL_NVIC_SetPriority(TIM3_IRQn,1,3);
  20. HAL_NVIC_EnableIRQ(TIM3_IRQn);
  21. }
  22. }
  23. void TIM3_IRQHandler(void)
  24. {
  25. HAL_TIM_IRQHandler(&TIM3_Handler);
  26. }
  27. void HAL_TIM_PeriodElapsedCallback(TIM_HandleTypeDef *htim)
  28. {
  29. if(htim==(&TIM3_Handler))
  30. {
  31. HAL_TimerTickCheck();
  32. }
  33. }
  34. uint32_t HAL_SysGetTickMs(void)
  35. {
  36. return HAL_GetTick();
  37. }