完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
2016年12月20日 创建任务 portBASE_TYPE xTaskCreate( pdTASK_CODE pvTaskCode, //指向任务的实现函数的指针 constsigned portCHAR * const pcName, //任务名,长度有限制 unsignedportSHORT usStackDepth, //分配多大的栈空间。字(word) void * pvParameters, //接受一个指向 void 的指针(void*) unsignedportBASE_TYPE uxPriority, //任务执行的优先级 //取值范围可以从最低优先级 0 到最高优先级(configMAX_PRIORItiES – 1) xTaskHandle*pxCreatedTask //传出任务的句柄,如果应用程序中不会用到这个任务的句柄,则 pxCreatedTask 可以被设为 NULL。 ); 返回值 有两个可能的返回值: 1.pdTRUE 表明任务创建成功。 2.errCOULD_NOT_ALLOCATE_REQUIRED_MEMORY 由于内存堆空间不足, FreeRTOS 无法分配足够的空间来保存任务结构数据和任务栈,因此无法创建任务。 例子: xTaskCreate( cli_def_task, "cli", 1024, NULL, 4, NULL ); 任务调度函数 /*启动调度器,任务开始执行 */ vTaskStartScheduler(); 任务优先级 xTaskCreate()API 函数的参数 uxPriority 为创建的任务赋予了一个初始优先级。这个侁先级可以在调度器启动后调用 vTaskPrioritySet() API 函数进行修改 FreeRTOSConfig.h中 设 定 的 编 译 时 配 置 常 量configMAX_PRIORITIES 的值,即是最多可具有的优先级数目 范围从 0 到(configMAX_PRIORITES – 1)。 每个任务都执行一个”时间片” 任务在时间片起始时刻进入运行态,在时间片结束时刻又退出运行态,调度器需要在每个时间片的结束时刻运行自己本 身 ,时间片的长度通过心跳中断的频率进行设定 Tick (时钟滴答) 心跳中断频率由FreeRTOSConfig.h 中的编译时配置常量configTICK_RATE_HZ 进行配置 configTICK_RATE_HZ 设为 100(HZ),则时间片长度为 10ms 执行流程 图中底部的箭头表示从t1起始的运行时刻。彩色的线段表示在每个时间点上正 在运行的任务——比如 t1 与 t2 之间运行的是任务 1。 在任何时刻只可能有一个任务处于运行态。所以一个任务进入运行态后(切入),另 一个任务就会进入非运行态(切出)。 心跳计数(tick count)值表示的是从调度器启动开始,心跳中断的总数,并假定心跳计数器不会溢出。用户程序在指定延迟周期时不必考虑心跳计数溢出问题,因为时间连贯性在内核中进行管理。 图中红色的线段表时内核本身在运行。黑色箭头表示任务到中断,中断再到另一 个任务的执行顺序 任务优先级测试 打印结果: 调度器总是选择具有最高优先级的可运行任务来执行。任务 2 的优先级比任务 1 高,并且总是可运行,因此任务 2 是唯一一个一直处于运行态的任务。而任务 1 不可能 进入运行态,所以不可能输出字符串。 下载时有时提示这个错误: Error: Flash Download failed -"Cortex-M4" 解决方法: 检查这里的配置,配置正确后重新上电 |
|
相关推荐
|
|
只有小组成员才能发言,加入小组>>
471 浏览 0 评论
【KV260视觉入门套件试用体验】四、KV260 视觉入门套件和固件更新
636 浏览 0 评论
【KV260视觉入门套件试用体验】Vitis AI Library体验之OCR识别
624 浏览 0 评论
【KV260视觉入门套件试用体验】Vitis AI 通过迁移学习训练自定义模型
799 浏览 0 评论
【KV260视觉入门套件试用体验】KV260系列之Petalinux镜像+Resnet 50探索
614 浏览 0 评论
【AMD KV260视觉入门开发套件试用】4、简单几步体验ubuntu 20.04.3 LTS运行人员检测应用
1216浏览 1评论
271浏览 1评论
【KV260视觉入门套件试用体验】老刘记事儿KV260初体验之Micro-SD选型提速研究(三)
483浏览 1评论
4235浏览 1评论
【KV260视觉入门套件试用体验】KV260部署yolov3实现车辆和行人检测
1797浏览 1评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-3-28 21:52 , Processed in 0.503168 second(s), Total 69, Slave 52 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 深圳华秋电子有限公司
电子发烧友 (电路图) 粤公网安备 44030402000349 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号