今天以PWM实例为例子讲解一下ucos下邮箱的使用,
第一步:在程序开始先定义一个邮箱,是指针形式的。定义函数如下:
OS_EVENT *PWMBox;
第二步:在主程序中建立邮箱:
PWMBox = OSMboxCreate((void *)0); // 创建邮箱
第三步:在接受函数中定义接受时需用到的两个变量,一个为指针形式
uint8 err;
uint32 *msg;
在其循环函数中接受邮箱信息:
msg = OSMboxPend(PWMBox, 0, &err); // 接收TaskKey1发来的消息
PWMMR6 = msg[0]; // 改变占空比
第四步:在发送函数中也需要先定义两个变量
uint8 err;
volatile uint32 PWMData = (Fpclk+500)/2000;
也是在其循环函数中发送邮箱信息:
err = OSMboxPost(PWMBox, (void*)&PWMData); // 向TaskPWM发送消息
注意:在使用时一定要注意数据类型的定义,一定要统一起来。
文章评论(0条评论)
登录后参与讨论