FreeRTOS给任务传递单个参数

电子说

1.2w人已加入

描述

首先了解一下指针。

例如: 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是通过中间变量转换的,任务二是直接转换的。两种方法都可以。


单片机

单片机



 

审核编辑:刘清

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

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分