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

freertos教程

xTaskCreate  创建任务

在cmsis.os2.c中抽象出统一接口   osTrhreadNew函数来创建任务

Cortex-M3 R0~R15寄存器组 & 特殊功能寄存器组 - uTank - 博客园

r0在低位存在低地址

lr在高位存在高地址

volatile

TaskHandle_t PlayMusicTaskHandle=NULL;
extern void PlayMusic(void *params);
static uint8_t g_state=1;
void MyTask_playmusic(void *argument)
{uint8_t dev, data;for(;;){//读取红外遥控器*/if (0 == IRReceiver_Read(&dev, &data))//接受到数据{if(0x2==data)//创建任务{if (PlayMusicTaskHandle == NULL)//第一次创建任务{LCD_ClearLine(0, 0);LCD_PrintString(0, 0, "Create Task");xTaskCreate(PlayMusic, "SoundTask", 128, NULL,osPriorityNormal+1, &PlayMusicTaskHandle);}else//暂停或恢复{if(g_state)//暂停{LCD_ClearLine(0, 0);LCD_PrintString(0, 0, "pause Task");vTaskSuspend(PlayMusicTaskHandle);g_state=0;}else//继续{LCD_ClearLine(0, 0);LCD_PrintString(0, 0, "continue Task");vTaskResume(PlayMusicTaskHandle);g_state=1;}}}else if(0x22==data)///* 删除播放音乐的任务*/{if (PlayMusicTaskHandle != NULL){LCD_ClearLine(0, 0);LCD_PrintString(0, 0, "Delete Task");vTaskDelete(PlayMusicTaskHandle);ActiveBuzzer_Init();ActiveBuzzer_Control(0);/* 停止蜂鸣器*/PlayMusicTaskHandle = NULL;}}}}}

通过firstmytask_1任务管理这个音乐播放任务SoundTask  x

任务 xTaskCreate(MyTask_playmusic,"firstmytask_1",128,NULL,osPriorityNormal,NULL);

管理这个音乐播放任务SoundTask  xTaskCreate(PlayMusic, "SoundTask", 128, NULL,osPriorityNormal+1, &PlayMusicTaskHandle);

vTaskDelay(n)时,进入、退出vTaskDelay 的时间间隔至少是n 个Tick

    preTime = xTaskGetTickCount();

该函数返回从系统启动并开始调度任务以来经过的 系统节拍数(tick count)。系统节拍是 FreeRTOS 的时间基准,由配置的系统时钟频率决定。

  1. 时间计算

    • 1 个节拍的时长 = 1 / 系统节拍频率(configTICK_RATE_HZ
    • 例如:若 configTICK_RATE_HZ 配置为 1000,则 1 个节拍 = 1ms

用xTaskDelayUntil(&Pre, n)时,前后两次退出xTaskDelayUntil 的时间至少是n 个Tick 中断,上一次就绪运行与下一次就绪运行相差n个Tick

http://www.dtcms.com/a/434934.html

相关文章:

  • C语言计算n个矩阵乘法
  • 做导航网站淘宝客做销量的网站有哪些
  • 注册免费域名网站wordpress仿百度搜索主题
  • c++MFC 用boost.asio库写的串口功能,包含发送、异步接收、打开、重连、关闭功能
  • 万用表和示波器使用
  • OpenJDK 和 Oracle JDK 该如何选择
  • 【开题答辩全过程】以 python基于Hadoop的服装穿搭系统的设计与实现为例,包含答辩的问题和答案
  • Spark专题-第三部分:性能监控与实战优化(2)-分区优化
  • port-isolate 概念及题目
  • 24.grep 使用手册
  • 俄罗斯网站设计电商网站开发设计方案
  • 在duckdb 1.4中编译和使用postgresql协议插件duckdb-pgwire
  • 鸿蒙开发2--常用UI组件与@State状态管理入门
  • Spring Boot 配置属性松散绑定
  • 重庆网站产品推广浙江省建设厅证书查询
  • 【代码随想录day 32】 力扣 509.斐波那契数列
  • 工信部网站备案怎么登录青岛公司做网站的价格
  • C语言中的scanf函数(头文件、格式控制、取地址符号分析)
  • 洛谷——P2437 蜜蜂路线
  • 网页制作网站花店水头网站建设
  • 在网站上做承诺书厦门在线制作网站
  • 国家认可的赚钱平台东莞seo网络推广专
  • 安装网站wordpress加个微信登录
  • 在线音频三选一强制选择测试(3-AFC)
  • 高斯消元矩阵
  • 吉林网站优化路得威网站谁做的
  • 神经网络之理解温度对Softmax的影响
  • 做视频怎么去除网站个人网站代做
  • Linux中信号量semaphore的实现
  • 广州网站推广公司建筑工程公司是干嘛的