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

网页设计与网站建设基础形容网站开发的词

网页设计与网站建设基础,形容网站开发的词,深圳手机商城网站设计费用,网页设计框架结构提示#xff1a;FreeRTOS常用API接口函数#xff1a;并对部分参数附上自己的解释,后面继续补充 FreeRTOS常用API接口函数 1.任务相关的API1.1 创建任务#xff1a;xTaskCreate1.2 开启任务调度器函数#xff1a;vTaskStartScheduler1.3 任务的删除#xff1a;vTaskDelete1… 提示FreeRTOS常用API接口函数并对部分参数附上自己的解释,后面继续补充 FreeRTOS常用API接口函数 1.任务相关的API1.1 创建任务xTaskCreate1.2 开启任务调度器函数vTaskStartScheduler1.3 任务的删除vTaskDelete1.3 任务的挂起vTaskSuspend1.3 任务的恢复vTaskResume xTaskResumeFromISR1.3获取任务的任务句柄xTaskGetHandle 2.优先级的API2.1 获得任务的优先级uxTaskPriorityGet2.2 设置任务的优先级uxTaskPrioritySet 2.阻塞延迟函数2.1 相对延迟函数:vTaskDelay2.2 绝对延迟函数:xTaskDelayUntil 3.队列3.1创建队列 xQueueCreate3.1复位队列 xQueueReset3.1删除队列 xQueueDelete3.1写队列3.1队列尾部写入数据xQueueSend xQueueSendToBackFromISR中断 TaskHandle_t 任务句柄的类型 XXXXType_t 都可以输入数字 1.任务相关的API TaskHandle_t task1//任务句柄 表示任务 TaskHandle_t * const pxCreatedTask// 应该传入 task1 1.1 创建任务xTaskCreate BaseType_t xTaskCreate( TaskFunction_t pxTaskCode,//对应任务函数const char * const pcName, //给任务取名字 字符串//FreeRTOS中有限制任务取名字最大长度为configMAX_TASK_NAME_LENconst configSTACK_DEPTH_TYPE usStackDepth,//为该任务分配的栈大小单位为word,10表示40字节void * const pvParameters,//调用任务函数时传入的参数UBaseType_t uxPriority,//任务优先级TaskHandle_t * const pxCreatedTask )// 以后使用它来操作这个任务 //返回值:1.2 开启任务调度器函数vTaskStartScheduler void vTaskStartScheduler( void );1.3 任务的删除vTaskDelete 功能删除任务 void vTaskDelete( TaskHandle_t 任务句柄P );//删除任务句柄代表的任务 //任务句柄P来指定任务值为NULL时表示暂停自己。1.3 任务的挂起vTaskSuspend 功能挂起任务 void vTaskSuspend( TaskHandle_t 任务句柄P );//挂起任务句柄代表的任务 //用任务句柄P来指定任务值为NULL时表示暂停自己。1.3 任务的恢复vTaskResume xTaskResumeFromISR 功能重新启动被Suspend挂起的任务 void vTaskResume( TaskHandle_t 任务句柄P );//恢复 任务句柄P代表的任务 //使用任务句柄P来指定任务值为NULL时表示暂停自己。1.3获取任务的任务句柄xTaskGetHandle xTaskGetHandle(创建任务是取的名字字符串)2.优先级的API 2.1 获得任务的优先级uxTaskPriorityGet UBaseType_t uxTaskPriorityGet( const TaskHandle_t 任务句柄P ); //使用参数xTask来指定任务设置为NULL表示获取自己的优先级。2.2 设置任务的优先级uxTaskPrioritySet void vTaskPrioritySet( TaskHandle_t xTask,UBaseType_t uxNewPriority ); //使用参数xTask来指定任务设置为NULL表示获取自己的优先级。 //参数uxNewPriority表示新的优先级取值范围是0~(configMAX_PRIORITIES – 1) 2.阻塞延迟函数 2.1 相对延迟函数:vTaskDelay void vTaskDelay( const TickType_t xTicksToDelay ); /* xTicksToDelay: 等待多少给Tick */ //vTaskDelay(100);100个tick //vTaskDelay(pdMS_TO_TICKS(100)); // 延迟 100 毫秒2.2 绝对延迟函数:xTaskDelayUntil BaseType_t xTaskDelayUntil( TickType_t * const pxPreviousWakeTime,const TickType_t xTimeIncrement ); /* pxPreviousWakeTime: 上一次被唤醒的时间* xTimeIncrement: 要阻塞到(pxPreviousWakeTime xTimeIncrement)* 单位都是Tick Count* vTaskDelayUntil(preTime, 500)*/示例代码需要配合 xTaskGetTickCount()使用 void LcdPrintTask(void *params) {//变量的定义和初始化struct TaskPrintInfo *pInfo params;uint32_t cnt 0;int len;BaseType_t preTime;uint64_t t1, t2;preTime xTaskGetTickCount();//###################关键点第一次进入循环时候记录//FreeRTOS调度器启动之后任务会在循环里面一直运行其实调度器启动后调用过一次该任务函数只是在频繁切换任务任务函数从头到尾就运行过一次为了防止任务函数停止需要在里面加入死循环while(1){};//whywhile (1)//while里面为真正的业务代码。{/* 打印信息 */if (g_LCDCanUse){g_LCDCanUse 0;len LCD_PrintString(pInfo-x, pInfo-y, pInfo-name);len LCD_PrintString(len, pInfo-y, :);LCD_PrintSignedVal(len, pInfo-y, cnt);g_LCDCanUse 1;mdelay(cnt 0x3);}t1 system_get_ns();//vTaskDelay(500); // 500000000vTaskDelayUntil(preTime, 500);///关键代码t2 system_get_ns();LCD_ClearLine(pInfo-x, pInfo-y2);LCD_PrintSignedVal(pInfo-x, pInfo-y2, t2-t1);} } 3.队列 队列(queue)可以用于任务到任务、“任务到中断”、中断到任务直接传输信息。 3.1创建队列 xQueueCreate QueueHandle_t xQueueCreate( UBaseType_t uxQueueLength, UBaseType_t uxItemSize ); //uxQueueLength:队列长度最多能存放多少个数据(item) //uxItemSize:以字节为单位 //返回值:非0成功返回句柄以后使用句柄来操作队列 NULL失败因为内存不足3.1复位队列 xQueueReset 队列刚被创建时里面没有数据使用过程中可以调用 xQueueReset() 把队列恢复为初始状态 /* pxQueue : 复位哪个队列;* 返回值: pdPASS(必定成功) */ BaseType_t xQueueReset( QueueHandle_t pxQueue);3.1删除队列 xQueueDelete 删除队列的函数为 vQueueDelete() 只能删除使用动态方法创建的队列它会释放内存。 void vQueueDelete( QueueHandle_t xQueue );3.1写队列 可以把数据写到队列头部也可以写到尾部这些函数有两个版本在任务中使用、在ISR中使用。 3.1队列尾部写入数据xQueueSend xQueueSendToBackFromISR中断 /* 等同于xQueueSendToBack* 往队列尾部写入数据如果没有空间阻塞时间为xTicksToWait*/ BaseType_t xQueueSend( QueueHandle_t xQueue,//队列句柄 const void *pvItemToQueue,//数据指针这个数据的值会被复制进队列 复制多大的数据在创建队列时已经指定了数据大小 TickType_t xTicksToWait//如果队列满则无法写入新数据可以让任务进入阻塞状态 xTicksToWait表示阻塞的最大时间(Tick Count)。 如果被设为0无法写入数据时函数会立刻返回 如果被设为portMAX_DELAY则会一直阻塞直到有空间可写 );/* * 往队列尾部写入数据此函数可以在中断函数中使用不可阻塞*/ BaseType_t xQueueSendToBackFromISR( QueueHandle_t xQueue,//队列句柄 const void *pvItemToQueue,//数据指针这个数据的值会被复制进队列 复制多大的数据在创建队列时已经指定了数据大小 BaseType_t *pxHigherPriorityTaskWoken//????作用);
http://www.hkea.cn/news/14569264/

相关文章:

  • form e哪个网站做ps做网站字号大小
  • 网站建设企业名录长春好的做网站公司排名
  • 做儿童文学的网站工商信息查询
  • 郑州免费网站建设哪家好广告公司名字有创意
  • 建设网站时的故障分类网店大师
  • 公司做网站的申请网站建设的行业
  • 赣州做网站的ui培训班哪家好
  • 靓号网站开发做网站公司 晨旭东方
  • 在线一键扒站源码php软件开发者模式
  • 坪山商城网站建设哪家效益快商务网站建设公
  • 网站横幅广告怎么做蔡家坡网站开发
  • 成都网站优化教程兰州网站设计有限公司
  • 企业网站模板中文 产品列表app企业网站
  • 开发网站需要什么技术2022网推网站
  • 把里面的dede和plugins这2个文件夹覆盖到你的网站根目录网上做论文的网站
  • 网站qq弹窗代码WordPress添加海报分享
  • 网站建设流行技术路桥贝斯特做网站好吗
  • 增城移动网站建设网站推广软件污
  • 怎么做电影网站的山东省建设厅网站首页
  • 支付宝网站登录入口网站没有做301定向
  • 网站建设的条件分析设计封面
  • 德州建设网站有世界杯直播视频直播
  • 网站引导页一般是什么格式宁波网站建设公司比较好
  • pc端网站怎么做自适应手机端山东省建设执业资格注册中心网站
  • 宁波网站推广哪家公司好制作网页怎么制作
  • 网站建设源码包高明网站设计制作
  • 自助建站平台便宜福建个人网站备案
  • 武城网站建设做外贸上哪些网站
  • 淘宝店铺网站建设wordpress 字体替换极客族
  • wordpress个人站电商的网站有几个