0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

FreeRTOS给任务传递单个参数

工程师邓生 来源:硬件会 作者:硬件会 2022-09-14 16:42 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

首先了解一下指针。

例如: int intA=100;定义一个整型变量intA,值为100。

比如占的首地址为#888,变量末地址为#888+32。

int *ptr;定义一个指针型变量ptr。 ptr=&intA;ptr即为地址,&像钩子一样把intA的地址钩出来赋值给ptr *ptr=intA=100;*像打靶一样,射向地址的内容。即*ptr=100。

理解了此内容后,再来看int *ptr和void *ptr的区别,指针型变量的类型void和int有啥作用?

还用以上例子,假如ptr的地址为#888,那末地址是+8/+16/+32/+64呢,数据占用多长地址这就需要看类型了,int类型在32位单片机中是+32。

void类型只能确定首地址,不能确定数据占用多长内存。

下面举例,给任务传递一个参数: 为了便于理解,将byte转换为void,任务1是通过中间变量转换的,任务二是直接转换的。两种方法都可以。


0bf9b322-3051-11ed-ba43-dac502259ad0.png

0c2f85c4-3051-11ed-ba43-dac502259ad0.png



审核编辑:刘清

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 单片机
    +关注

    关注

    6074

    文章

    45341

    浏览量

    663652
  • FreeRTOS
    +关注

    关注

    14

    文章

    497

    浏览量

    66361
  • ESP32
    +关注

    关注

    24

    文章

    1084

    浏览量

    20862

原文标题:FreeRTOS给任务传递单个参数(ESP32)

文章出处:【微信号:硬件会,微信公众号:硬件会】欢迎添加关注!文章转载请注明出处。

收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    FreeRTOS任务和协程的区别是什么

    1.堆栈 协程是没有堆栈分配的,是所有创建的协程共同使用一个堆栈空间,这相比于任务来说,减少了RAM的使用空间。 2. 调度和优先级 协程使用协同调度,但是可以包含在使用的抢占优先级之中。 3. 宏
    发表于 12-08 08:18

    ucos与freertos哪个好?

    选择uCOS或FreeRTOS取决于项目的具体需求和资源限制。 FreeRTOS的优点包括: 更小的内核ROM和RAM占用,特别是在RAM方面,适合资源受限的嵌入式系统。 支持协程
    发表于 12-05 07:13

    FreeRTOS 空闲任务

    FreeRTOS 中很多人会注意到为什么有一个叫IDLE task的任务占用了CPU百分之九十多的使用权,但是这个任务并没有自己手动创建。原因就是这个空闲任务是系统自己创建的,每当系统
    发表于 12-04 07:35

    FreeRTOS和uC/OS-II的功能特性

    FreeRTOS: 核心功能: 任务调度(固定优先级抢占式 + 时间片轮询)、队列、信号量(二进制、计数)、互斥锁(带优先级继承)、软件定时器、事件组(事件标志)、任务通知(高效轻量级的信号量
    发表于 11-17 08:17

    freertos关闭任务调度的方法

    #include \"FreeRTOS.h\" #include \"task.h\" /* 关闭任务调度 */ void
    发表于 11-17 06:47

    FreeRTOS任务调度及优先级问题

    大家好,最近本人在学习FreeRTOS ,之前有过一些裸机开发的经验,目前知道了FreeRTOS任务是基于时间片轮转来调度,也就是知道了任务会基于各个时间片来运行。 于是联想了如果有
    发表于 11-06 02:18

    【RA4L1-SENSOR】04 用FreeRTOS重构工程

    1. 前言 之前几个实验都是在裸机开发,随着项目的推进,裸机开发很难去保证各个功能的实时性,因此,本次实验借助FreeRTOS来整合之前的项目,每个功能都设置任务。另外,还要加入一个按下开发板上
    发表于 06-16 22:28

    FreeRTOS任务中发送事件队列是有什么限制吗?

    到了TMC的芯片,但是在到位上报的信息中少了卡死电机的上报。所以有的电机的到位中断并没有成功写入任务。 一开始是每个电机都开启了一个定时器查询,后续改成一个定时器查六个电机并将定时器的周期加到50ms,就很少会卡死。 所以向FreeRTOS
    发表于 06-11 07:57

    详解FreeRTOS与SAFERTOS的区别

    开源免费的FreeRTOS由Richard Barry在WHIS工作时创建,WHIS基于FreeRTOS的功能模型,通过完整的HAZOP分析,确定了功能模型和API中的所有的弱点,减轻所有薄弱环节,并采用IEC 61508 SIL 3的开发生命周期,重新设计实现了SAFE
    的头像 发表于 06-04 16:58 687次阅读
    详解<b class='flag-5'>FreeRTOS</b>与SAFERTOS的区别

    FreeRTOS读取ADS1299数据有误

    您好,请问,用stm32的FreeRTOS的队列对ADS1299传感器读取数据,已设置采样率为2khz 在采集任务中:通过spi读取数据——滤波(-DSP库)——将数据写入队列——延时
    发表于 05-05 22:48

    【RA-Eco-RA4M2开发板评测】RA-Eco-RA4M2 移植FreeRTOS

    Configuration->New Thread”即可新建一个任务。 Figure 2‑7 配置任务 Common是关于FreeRTOS的配置,Thread是新建线程的配置参数
    发表于 05-03 23:24

    FreeRTOS进阶使用之流缓冲区:高效处理字节流的秘密武器

    在嵌入式开发中,流缓冲区(Stream Buffer)是FreeRTOS中用于高效处理字节流数据传输的核心机制,尤其适合任务间或中断与任务间的连续数据传输场景(如串口通信、网络数据流等)。本文将深入
    发表于 03-24 11:37

    使用NXP MCX-N板卡新增命令控制

    此次任务通过串口命令行控制RGB LED,相比较与上一次任务通过单个字符控制增加了FreeRTOS-CLI组件,支持更复杂的、带参数的命令。
    的头像 发表于 03-17 13:38 1491次阅读
    使用NXP MCX-N板卡新增命令控制

    移植LWIP+FREERTOS时遇到的问题怎么解决?

    :将ST官网的LWIP1.4.1 的例子(关于LWIP的部分)移植到步骤1 的FreeRTOS 系统的工程里面,只是添加LWIP初始化的任务,并没有调用任何接口的情况下可以Ping 通 而且长时间
    发表于 03-11 06:48

    使用任务通知提高RTOS应用的效率

    在实时嵌入式系统中,性能和资源效率是决定设计成败的关键因素。传统的实时操作系统(RTOS)提供了如队列、信号量和事件组机制,实现任务之间的同步和通信。FreeRTOS/SAFERTOS还提供一种方法可以使这些过程更快、更轻量化,即任务
    的头像 发表于 12-27 14:54 1073次阅读