龙套(路人) 2023-01-12 15:55 采纳率: 0%
浏览 27

关于FreeRTos任务的问题(语言-开发语言)

假如任务按10ms的周期循环执行,我想在某一时刻(随意时刻),比如绝对时间还未到10ms,到6ms时,重新开始同样以10ms循环执行任务
例如:
// 每10片执行一次
 void vTaskFunction( void * pvParameters )
 {
    portTickType xLastWakeTime;
    const portTickType xFrequency = 10;

   // 使用当前时间 初始化xLastWakeTime 变量
   xLastWakeTime = xTaskGetTickCount();

  for( ;; )
  {
      // 等待下一个循环
      vTaskDelayUntil( &xLastWakeTime, xFrequency );

      // 执行区域
   }
 }

我想要达到的结果

img

我想着可以先挂起任务OSTaskSuspend (),随便延时一下,再恢复任务OSTaskResume (),但是不被允许

各位码友们~,抽空帮忙看下有方法实现么

  • 写回答

1条回答 默认 最新

  • CSDN-Ada助手 CSDN-AI 官方账号 2023-01-12 17:05
    关注
    评论

报告相同问题?

问题事件

  • 创建了问题 1月12日