The Data Frame Transmit function sets up a Mailbox to transmit, and makes it transmit one data frame. If the Mailbox was previously configured to receive, the function first makes the peripheral enter the Halt state, since it is safest to change the setting of a receive Mailbox when the peripheral is halted. The function then sets the CAN ID, the data length, and writes the data frame payload. It enables the Mailboxes transmit interrupt unless polling was defined, and finally requests a transmission.