配置STM32CubeMX如下
生成的Keil代碼的創建啟動定時器如下
/* Create the timer(s) */ /* definition and creation of myTimer01 */ osTimerDef(myTimer01, Callback01); myTimer01Handle = osTimerCreate(osTimer(myTimer01), osTimerPeriodic, NULL); /* USER CODE BEGIN RTOS_TIMERS */ /* start timers, add new ones, ... */ osTimerStart(myTimer01Handle,1000);//1秒鍾啟動一次定時 /* USER CODE END RTOS_TIMERS */
定時器的回調函數如下
/* Callback01 function */ void Callback01(void const * argument) { /* USER CODE BEGIN Callback01 */ static int32_t count = 0; printf( "定時器計數:%d.\r\n",count++); /* USER CODE END Callback01 */ }
運行結果如下,每隔一秒打印一次
定時器的創建函數osTimerCreate(osTimer(myTimer01), osTimerPeriodic, NULL);的第二個參數
osTimerPeriodic:重復定時
也可賦值為osTimerOnce只定時一次