嵌入式教材课件 第六次.docVIP

  • 1
  • 0
  • 约4.07千字
  • 约 5页
  • 2022-04-13 发布于未知
  • 举报
实验五 邮箱通信实验 一、实验目的 掌握uC/OS-II操作系统下使用信号量解决任务之间的同步问题; 掌握uC/OS-II操作系统下任务间通讯的方法。 二、实验内容 三、实验设备 四、实验原理 1.uC/OS-II任务之间的通讯与同步方式: 在μC/OS-II中,有多种方法可以保护任务之间的共享数据和提供任务之间的通讯。 1)利用宏OS_ENTER_CRITICAL()和OS_EXIT_CRITICAL()来关闭中断和打开中断。当两个任务或者一个任务和一个中断服务子程序共享某些数据时,可以采用这种方法; 2)利用函数OSSchedLock()和OSSchekUnlock()对μC/OS-II中的任务调度函数上锁和开锁; 3)信号量;4)邮箱;5)队列。 2.uC/OS-II中使用邮箱实现任务之间的通讯 邮箱可使一个任务或者中断服务子程序向另一个任务发送一个指针型的变量。该指针指向一个包含了特定“消息”的数据结构。通过调用OSMboxCreate()函数来创建邮箱,并指定指针的初始值。一般情况下,这个初始值是NULL,但也可以初始化一个邮箱,使其在最开始就包含一条消息。如果使用邮箱的目的是用来通知一个事件的发生(发送一条消息),那么就要初始化该邮箱为NULL,因为在开始时,事件还没有发生。如果用户用邮箱来共享某些资源,那么就要初始化该邮箱为一个非NULL的指针。在这种情况下,邮箱被

文档评论(0)

1亿VIP精品文档

相关文档