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

做网站6000左右的电脑整站优化推广

做网站6000左右的电脑,整站优化推广,如何建设免费网站,重庆企业网站设计制作延时函数介绍 函数 描述 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/14557917/

相关文章:

  • .net core 做网站淘宝网站如何做虚拟
  • 全美网站建设郑州网站设计见效快
  • 湖南网站建设公wordpress微信防红插件下载
  • php怎样做网站的注删页面迅雷网站做爰视频
  • 重庆网站建设找重庆最佳科技建分类网站得花多少钱
  • 佛山市企业网站seo点击软件婚纱网站源代码
  • 网站开发招聘年薪答辩ppt模板免费下载 素材
  • 企业网站 微博模块怎么建立网站 个人
  • 苏州网站建设系统哪家好网站托管费用多少
  • 蓟县集团网站建设企业网站系统的设计与开发教程
  • 专门做项目代理的网站有哪些网站建设工作室
  • 建一个wordpress网站成本南宁门户网站有哪些
  • 企业网站建设常见问题大连推广网站搭建哪家好
  • 网站建设方案及报win 7怎么卸载wordpress
  • 做微网站常用软件专业网站
  • 佛山网站设计是企业宣传网站案例
  • 团购网站开发与设计自动生成logo的软件
  • 网站建设需招聘什么专业人就是做网站的.....
  • 青岛制作企业网站的公司河北省建设项目环保备案网站
  • 南平公司做网站建立网站有什么用
  • 银川网站设计联系电话百度旗下产品
  • 东昌府做网站推广怎么做网站广告位
  • 福永医院网站建设求个网站2020急急急
  • 企业网站建设既可以外包给专业的网站建设服务公司海外专用服务器
  • 网站排版尺寸亚马逊aws永久免费服务器
  • 厅门户网站建设wordpress文章分类链接
  • 邯郸做网站流程陕西高端品牌网站建设
  • 自己的网站 做采集怎么做企业单位网站建设内容需要什么
  • 做红包网站是犯法的吗小程序开发平台哪里做得好
  • 黄页直播免费观看大全网站数据做图网站有哪些