一步一步学ucos之邮箱使用之数据存放
邮箱一般用来传递数据,不管何种类型都可以传递。在传递时,先把数据数据用void *进行类型变化,化为void *这种万用类型,而在接收邮箱的数据时,再还原成本身的数据类型。比如以下的两个例子:
一是传递指向一个数组的指针。发端采用如下方式:
OSMboxPost(ComSendMbox, (void *)ComBufRec);
其中的ComBufRec就是数组名,也表示指向该数组的指针,将原来的字符型数组名(或指针)变成(void *)类型,而接收端,利用
send_ptr = (uint8 *)OSMboxPend(ComSendMbox, 0, &err);
将(void *)类型还原为指针。
二是传递一个字符型变量。发端采用如下方式:
OSMboxPost(KeyMbox, (void *)key_value);
其中的key_value就是字符型变量,将原来的字符型变量变成(void *)类型,而接收端,利用
key = (INT8U)OSMboxPend(KeyMbox, 0, &err);
将(void *)类型还原为字符型变量。
冯大同
发表于03-18 09:19 浏览65535次