④ DATA field
This section explains data sending and reception processing in the data field.
First, regarding data sending, if the ID received in the ID field is for a send ID, the
vTimeoutCheckTask function is called by the 8/16-bit complex timer (free run timer)
interrupt, as shown in "Figure 5-18 Timeout detection processing".This function is called
when the timeout value set using the free run timer is detected, and in this case, is called the
detection of the timeout values from the header reception to the response sending (response
space).In the vTimeoutCheckTask function, processing is separated into pre-sending and
initialization processing, etc., according to the status information, and if the status is
pre-sending, the first data byte is sent.
void
vTimeoutCheckTask(void){
(Omitted)
if ( uiIntDemandCounter == 0 ) {
switch ( ucLinStatus ) {
case
LIN_PRETRANSMIT:
ucLinStatus = LIN_TRANSMIT;
ucSaveData = ucUartTxBuffer[0];
l_ifc_tx(ucUartTxBuffer[0]);
(Omitted)
case
LIN_UART_INITIAL:
(Omitted)
case
LIN_ID_RECEPTION:
(Omitted)
case
LIN_DATA_RECEPTION:
(Omitted)
case
LIN_TRANSMIT:
(Omitted)
case
LIN_WAIT_SYNCH_FIELD_START:
(Omitted)
}
}
Figure 5-18 Timeout detection processing
105
Status before sending
State transition: DATA FIELD send
status
Acquiring 1-byte send data
Data transmit processing
AN07-00200-03E