当前位置: 首页 > news >正文

网站建设域名的购买购物网站html模板下载

网站建设域名的购买,购物网站html模板下载,seo站长网怎么下载,dedecms网站地图修改延时函数介绍 函数 描述 vTaskDelay() 相对延时 xTaskDelayUntil() 绝对延时 相对延时#xff1a;指每次延时都是从执行函数vTaskDelay()开始#xff0c;直到延时指定的时间结束 绝对延时#xff1a;指将整个任务的运行周期看成一个整体#xff0c;适用于需要按…延时函数介绍 函数 描述 vTaskDelay() 相对延时 xTaskDelayUntil() 绝对延时 相对延时指每次延时都是从执行函数vTaskDelay()开始直到延时指定的时间结束  绝对延时指将整个任务的运行周期看成一个整体适用于需要按照一定频率运行的任务  为任务主体也就是任务真正要做的工作是任务函数中调用vTaskDelayUntil()对任务进行延时为其他任务在运行  vTaskDelay() 函数 vTaskDelay() 用于对任务进行延时延时的时间单位为系统时钟节拍使用函数需要的 FreeRTOSConfig.h 文件中将配置项 INCLUDE_vTaskDelay 配置为 1。 void vTaskDelay(const TickType_t xTicksToDelay);  函数用于使任务进入阻塞状态以实现延时功能。延时的时间以 FreeRTOS 的时钟节拍为单位。 指每次延时都是从执行函数 vTaskDelay() 开始直到延时指定的时间参数滴答值结束。  参数 xTicksToDelay 用于设置延迟的时钟节拍个数范围 1- 0xFFFFFFFF。  在使用此函数进行任务延时时如果传入的参数为 0那表明不进行任务延时而是强 制进行一次任务切换。 void vTaskDelay( const TickType_t xTicksToDelay ) {BaseType_t xAlreadyYielded pdFALSE;/* 只有在延时时间大于 0 的时候才需要进行任务阻塞* 否则相当于强制进行任务切换而不阻塞任务*/if( xTicksToDelay ( TickType_t ) 0U ){configASSERT( uxSchedulerSuspended 0 );/* 挂起任务调度器 */vTaskSuspendAll();{/* 用于调试不用理会 */traceTASK_DELAY();/* 将任务添加到阻塞态任务列表中 */prvAddCurrentTaskToDelayedList( xTicksToDelay, pdFALSE );}/* 恢复任务调度器运行调用此函数会返回是否需要进行任务切换*/xAlreadyYielded xTaskResumeAll();}else{mtCOVERAGE_TEST_MARKER();}/* 根据标志进行任务切换 */if( xAlreadyYielded pdFALSE ){portYIELD_WITHIN_API();}else{mtCOVERAGE_TEST_MARKER();} } xTaskDelayUntil() 函数 xTaskDelayUntil() 用于对任务进行绝对延时延时的时间单位为系统时钟节拍使用需要在 FreeRTOSConfig.h 文件中将配置项 INCLUDE_vTaskDelayUntil 配置为 1。  BaseType_t xTaskDelayUntil( TickType_t * const pxPreviousWakeTime,const TickType_t xTimeIncrement ); 函数描述函数 vTaskDelayUntil 用于周期性延迟。 属于绝对延时指间隔指定的时间参数滴答值执行一次调用 vTaskDelayUntil() 函数的任务。 参数说明pxPreviousWakeTime存储任务最后一次解除阻塞的时间xTimeIncrement周期性延迟时间返回值BaseType_tpdTRUE操作成功pdFALSE操作失败 #if ( INCLUDE_xTaskDelayUntil 1 ) BaseType_t xTaskDelayUntil(TickType_t * const pxPreviousWakeTime, /*上一次阻塞超时时间*/const TickType_t xTimeIncrement ) /*延时的时间*/ {TickType_t xTimeToWake;BaseType_t xAlreadyYielded, xShouldDelay pdFALSE;configASSERT( pxPreviousWakeTime );configASSERT( ( xTimeIncrement 0U ) );configASSERT( uxSchedulerSuspended 0 );/* 挂起任务调度器 */vTaskSuspendAll();{const TickType_t xConstTickCount xTickCount;/* 计算任务下一次阻塞超时的时间* 这个阻塞超时时间是相对于上一次阻塞超时的时间的*/xTimeToWake *pxPreviousWakeTime xTimeIncrement/* 如果在上一次阻塞超时后* 系统时钟节拍计数器溢出过*/if( xConstTickCount *pxPreviousWakeTime ){/* 只有在下一次阻塞超时时间也溢出* 并且下一次阻塞超时时间大于系统时钟节拍计数器的值时* 需要做相应的溢出处理否则就好像没有溢出*/if( ( xTimeToWake *pxPreviousWakeTime ) ( xTimeToWake xConstTickCount ) ){xShouldDelay pdTRUE;/* 标记因为溢出需要做相应的处理 */}else{mtCOVERAGE_TEST_MARKER();}}else{/* 系统时钟节拍计数器没有溢出* 但是下一次阻塞超时时间溢出了* 并且下一次阻塞超时时间大于系统时钟节拍计数器的值时* 需要做相应的溢出处理*/if( ( xTimeToWake *pxPreviousWakeTime ) ||( xTimeToWake xConstTickCount ) ){ xShouldDelay pdTRUE; /* 标记因为溢出需要做相应的溢出处理 */}else{mtCOVERAGE_TEST_MARKER();}}/* 更新上一次阻塞超时时间为下一次阻塞超时时间 */*pxPreviousWakeTime xTimeToWake;/* 根据标记做相应的溢出处理 */if( xShouldDelay ! pdFALSE ){/* 用于调试不用理会 */traceTASK_DELAY_UNTIL( xTimeToWake );/* 将任务添加到阻塞态任务列表中 */prvAddCurrentTaskToDelayedList( xTimeToWake - xConstTickCount,pdFALSE );}else{mtCOVERAGE_TEST_MARKER();}}/* 恢复任务调度器运行* 调用此函数会返回是否需要进行任务切换*/xAlreadyYielded xTaskResumeAll();/* 根据标志进行任务切换 */if( xAlreadyYielded pdFALSE ){portYIELD_WITHIN_API();}else{mtCOVERAGE_TEST_MARKER();} return xShouldDelay; } #endif /* INCLUDE_xTaskDelayUntil */ 不知道你们有没有想过为什么是 xTaskDelayUntil() 而不是 vTaskDelayUntil()我在tasks.c文件中找到 延时函数演示实验 学习 FreeRTOS 相对延时和绝对延时API 函数的使用并了解其区别 实验设计 将设计三个任务start_task、task1、task2  三个任务的功能如下 start_task用来创建其他的2个任务task1用于展示相对延时函数vTaskDelay ( )的使用task2用于展示绝对延时函数vTaskDelayUntil( )的使用 其他部分代码如有需要可参考上一篇博文  FreeRTOS 任务相关API函数 //用于展示相对延时函数vTaskDelay ( )的使用 void task1(void * pvParameters) {while(1){LED0_TOGGLE();delay_ms(10);vTaskDelay(500);}}//用于展示绝对延时函数vTaskDelayUntil( )的使用 void task2(void * pvParameters) {TickType_t xLastWakeTime xTaskGetTickCount();while(1){LED1_TOGGLE(); delay_ms(10);xTaskDelayUntil(xLastWakeTime,500);} } 现象 注意 可能会出现任务一在延时时任务2在运行但是在任务1解除延时时候任务2刚好在死延时因为优先级原因所以任务1运行不了代表任务1不止延时了510ms。
http://www.hkea.cn/news/14548259/

相关文章:

  • 网站设计板块网站建设的技术保证怎么写
  • 太原网站制作好吗北京网站建设案例
  • 嘉兴网站建设方案优化企业所得税率2022最新
  • 如何做自己的个人网站泰安网站建设焦点网络
  • 青岛黄岛网站建设十种人不适合学建筑
  • 江门桂城网站建设wordpress引用图片
  • 网站开发根目录建在哪怎样下载广安同城app
  • 做360手机网站快速排手机网站 ui
  • 网站建设商务代表故事买友情链接
  • 域名网站查询前端做网站步骤
  • 贵阳网站建设有限公司贵州企业网站建设案例
  • 前端做的网站网站首页网址应该有对应的域名
  • 网站源码下载安全吗对单位网站建设的意见
  • 中小型网站建设与管理猎头公司怎么收费
  • 学校网站建设经验介绍如何开发网站
  • 易语言怎么做点击按钮打开网站如何做带后台的网站
  • 国外男女直接做的视频网站wordpress电子邮件怎么设置
  • 网站建设首选-云端高科谷德设计网app
  • 网站开发专员绩效考核关于网站得精神文明建设
  • 南昌网站seo外包服务做图文的网站
  • 怎么上线网站网站内链代码
  • 新七建设集团有限公司网站seo在线推广
  • 学校网站进不去怎么办公司网站怎样实名认证
  • 中山中小企业网站制作新手网页制作
  • 网站建设成本控制商家怎么入驻百度
  • html业务网站源码有哪些网站免费做推广
  • 未来中森网站建设公司中企动力这家公司怎么样
  • wps哪个工具做网站网站制作网站开发ple id充值
  • 哪个设计网站做兼职好公司网站维护和更新属于哪个部门
  • 做淘宝站外推广网站qq企业邮箱怎么开通注册