• CubeMX之FreeRTOS学习day02


    开发环境:CubeMX Version:5.6.1
    Keil:Version:V5.31.0
    FreeRTOS: V2.0参考API连接

    软件定时器:

    /* Definitions for myTimer_TreatTime */
    osTimerId_t myTimer_TreatTimeHandle;
    const osTimerAttr_t myTimer_TreatTime_attributes = {
      .name = "myTimer_TreatTime"
    };
    
    myTimer_TreatTimeHandle = osTimerNew(Callback_TreatTime, osTimerPeriodic, NULL, &myTimer_TreatTime_attributes);
    
    osTimerStart (myTimer_TreatTimeHandle, 1000);//开启定时器
    

    New之后直接开启,然后就会在CallBack函数中定时处理:

    /* Callback_TreatTime function */
    void Callback_TreatTime(void *argument)
    {
      /* USER CODE BEGIN Callback_TreatTime */
    	Treat_Time_Sec--;
    	if(Treat_Time_Sec<0)
    	{
    		Treat_Time_Sec = 60;
    		Magnetic.Treat_Time_Value-=2;
    	}
    	printf("Treat_Time_Min:%dTreat_Time_Sec:%d
    ",Magnetic.Treat_Time_Value/2,Treat_Time_Sec);
      /* USER CODE END Callback_TreatTime */
    }
    

    参考API:

    osTimerNew (osTimerFunc_t func, osTimerType_t type, void *argument, const osTimerAttr_t *attr)//新建
    osTimerStart (osTimerId_t timer_id, uint32_t ticks)//开启,ticks调用时长,单位为ms
    osTimerStop (osTimerId_t timer_id)//停止
    osTimerIsRunning (osTimerId_t timer_id)//是否运行
    osTimerDelete (osTimerId_t timer_id)//删除
    const char *osTimerGetName (osTimerId_t timer_id)//获取定时器名字
    
  • 相关阅读:
    02数组
    05集合02map
    05集合03List
    04异常异常
    03常用类
    05集合01集合综述
    centos7自建yum源 安装rpm
    centos扩展磁盘根分区
    systemctl 进阶
    systemctl 入门
  • 原文地址:https://www.cnblogs.com/hhsxy/p/14018359.html
Copyright © 2020-2023  润新知