mailbox.c Implementation
邮箱buffer处理的描述(MAILBOX_QUEUE = 0):
两个邮箱buffer用于发送和接收邮箱服务。
正常运行:
启动邮箱处理(handler) psWriteMbx以及邮箱buffer 1,、psReadMbx、psRepeatMbx和psStoreMbx为0。
在此状态下,将忽略Repeat请求,因为尚未发送任何服务。
发送第一个邮箱服务时(在MBX_CopyToSendMailbox中),psWriteMbx获取邮箱buffer 2,psReadMbx获取发送邮箱buffer 1,psRepeatMbx 和 psStoreMbx仍为0。
从主站读取第一个邮箱服务时,发送的邮箱buffer 1存储在psRepeatMbx(MBX_MailboxReadInd)中。
在psReadMbx始终获取实际发送的邮箱buffer之后,psWriteMbx设置为0(在发送邮箱服务被读且调用MBX_MailboxReadInd之前,不会处理从主站接收的另一个邮箱服务)。
当读取邮箱服务时,psWriteMbx得到psRepeatMbx的buffer,psRepeatMbx得到psReadMbx的buffer。
主站Repeat请求:
当主站发Repeat请求时(MBX_MailboxRepeatReq),有三种不同的可能:
自邮箱处理(handl