<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:taxo="http://purl.org/rss/1.0/modules/taxonomy/" version="2.0">
  <channel>
    <title>topic Re: LIN Slave Mode In MPC5604B in MPC5xxx</title>
    <link>https://community.nxp.com/t5/MPC5xxx/LIN-Slave-Mode-In-MPC5604B/m-p/228311#M54</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi nostradamux,&lt;/P&gt;&lt;P&gt;I have seen RAppID linflex example; ok, it use ISR but it does not solve my problem, damnnnnn ;(...It seems that data triggering has not enough time to send all data bytes, as to say once it sends entire frame, once only BDRL.B.DATA0, once only BDRL.B.DATA0 and BDRL.B.DATA1,2, etc etc, in a totally randow way.&lt;/P&gt;&lt;P&gt;I do not know....&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Fri, 15 Feb 2013 11:26:59 GMT</pubDate>
    <dc:creator>andrea_mocci</dc:creator>
    <dc:date>2013-02-15T11:26:59Z</dc:date>
    <item>
      <title>LIN Slave Mode In MPC5604B</title>
      <link>https://community.nxp.com/t5/MPC5xxx/LIN-Slave-Mode-In-MPC5604B/m-p/228305#M48</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;I've just started with Bolero MCU. I have EVB board and I've been followed some projects from AN2865.&lt;/P&gt;&lt;P style="min-height: 8pt; padding: 0px;"&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;I would like configure LIN peripheral in Slave Mode receiver, but there's no example of that (there is only one Tx mode example).&lt;/P&gt;&lt;P style="min-height: 8pt; padding: 0px;"&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Does anyone have some projects related?&lt;/P&gt;&lt;P style="min-height: 8pt; padding: 0px;"&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Thank a lot&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 17 Jan 2013 10:41:20 GMT</pubDate>
      <guid>https://community.nxp.com/t5/MPC5xxx/LIN-Slave-Mode-In-MPC5604B/m-p/228305#M48</guid>
      <dc:creator>pvarela</dc:creator>
      <dc:date>2013-01-17T10:41:20Z</dc:date>
    </item>
    <item>
      <title>Re: LIN Slave Mode In MPC5604B</title>
      <link>https://community.nxp.com/t5/MPC5xxx/LIN-Slave-Mode-In-MPC5604B/m-p/228306#M49</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;I have found on my PC the code created by colleague of mine. Here is only content of main.c file.&lt;/P&gt;&lt;P&gt;/*******************************************************************************&lt;/P&gt;&lt;P&gt;* Freescale Semiconductor Inc.&lt;/P&gt;&lt;P&gt;* (c) Copyright 2010 Freescale Semiconductor, Inc.&lt;/P&gt;&lt;P&gt;* ALL RIGHTS RESERVED.&lt;/P&gt;&lt;P&gt;********************************************************************************&lt;/P&gt;&lt;P&gt;Services performed by FREESCALE in this matter are performed AS IS and without&lt;/P&gt;&lt;P&gt;any warranty. CUSTOMER retains the final decision relative to the total design&lt;/P&gt;&lt;P&gt;and functionality of the end product. FREESCALE neither guarantees nor will be&lt;/P&gt;&lt;P&gt;held liable by CUSTOMER for the success of this project.&lt;/P&gt;&lt;P&gt;FREESCALE DISCLAIMS ALL WARRANTIES, EXPRESSED, IMPLIED OR STATUTORY INCLUDING,&lt;/P&gt;&lt;P&gt;BUT NOT LIMITED TO, IMPLIED WARRANTY OF MERCHANTABILITY OR FITNESS FOR&lt;/P&gt;&lt;P&gt;A PARTICULAR PURPOSE ON ANY HARDWARE, SOFTWARE ORE ADVISE SUPPLIED &lt;/P&gt;&lt;P&gt;TO THE PROJECT BY FREESCALE, AND OR NAY PRODUCT RESULTING FROM FREESCALE &lt;/P&gt;&lt;P&gt;SERVICES. IN NO EVENT SHALL FREESCALE BE LIABLE FOR INCIDENTAL OR CONSEQUENTIAL &lt;/P&gt;&lt;P&gt;DAMAGES ARISING OUT OF THIS AGREEMENT.&lt;/P&gt;&lt;P&gt;CUSTOMER agrees to hold FREESCALE harmless against any and all claims demands &lt;/P&gt;&lt;P&gt;or actions by anyone on account of any damage, or injury, whether commercial,&lt;/P&gt;&lt;P&gt;contractual, or tortuous, rising directly or indirectly as a result &lt;/P&gt;&lt;P&gt;of the advise or assistance supplied CUSTOMER in connection with product, &lt;/P&gt;&lt;P&gt;services or goods supplied under this Agreement.&lt;/P&gt;&lt;P&gt;********************************************************************************&lt;/P&gt;&lt;P&gt;* File:&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; main.c&lt;/P&gt;&lt;P&gt;* Owner:&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; b08110&lt;/P&gt;&lt;P&gt;* Version:&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 1.0&lt;/P&gt;&lt;P&gt;* Date:&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Jan-07-2011&lt;/P&gt;&lt;P&gt;* Classification:&amp;nbsp;&amp;nbsp; General Business Information&lt;/P&gt;&lt;P&gt;* Brief:&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; LinFlex0 Lin 2.0 Slave example&lt;/P&gt;&lt;P&gt;********************************************************************************&lt;/P&gt;&lt;P&gt;* Detailed Description: &lt;/P&gt;&lt;P&gt;* - receive header from a LIN Master&lt;/P&gt;&lt;P&gt;* - either receive data from a LIN Master or transmit a data&lt;/P&gt;&lt;P&gt;* &lt;/P&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;* ------------------------------------------------------------------------------&lt;/P&gt;&lt;P&gt;* Test HW:&amp;nbsp; XPC560B 144 LQFP MINIMODULE, XPC56XX EVB MOTHERBOARD, PPC5604B 0M27V&lt;/P&gt;&lt;P&gt;* Target :&amp;nbsp; internal_RAM&lt;/P&gt;&lt;P&gt;* LinFlex0: Lin Slave, 19200 baudrate&lt;/P&gt;&lt;P&gt;* Fsys:&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 64 MHz PLL with 8 MHz crystal reference&lt;/P&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;* ------------------------------------------------------------------------------&lt;/P&gt;&lt;P&gt;* EVB connections and jumper configuration&lt;/P&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;* XPC56XX EVB MOTHERBOARD&lt;/P&gt;&lt;P&gt;* for LinFlex0 connection to the MC33661 LIN transceiver:&lt;/P&gt;&lt;P&gt;* - RXDA_SEL (near SCI !!!!) shunt over upper two pins&lt;/P&gt;&lt;P&gt;* - TXDA_SEL (near SCI) shunt over upper two pins&lt;/P&gt;&lt;P&gt;* - that is for PB2 connection to U5 and PB3 connection to U5&lt;/P&gt;&lt;P&gt;* &lt;/P&gt;&lt;P&gt;* for LIN Slave functionality&lt;/P&gt;&lt;P&gt;* - VSUP (J6 on the schematic) shunt disconnected&lt;/P&gt;&lt;P&gt;*&amp;nbsp;&amp;nbsp; lin xceiver will get +12V from the Master&lt;/P&gt;&lt;P&gt;* - V_BUS shunt disconnected&lt;/P&gt;&lt;P&gt;* - MASTER_EN shunt disconnected&lt;/P&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;* for connection from a LIN Master&lt;/P&gt;&lt;P&gt;* LIN Master&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Lin Slave&lt;/P&gt;&lt;P&gt;* +12V (VSUP) ------ VSUP pin 1 (left) (this will connect +12V from Master&lt;/P&gt;&lt;P&gt;*&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; directly to the +12V pin of the LIN transceiver&lt;/P&gt;&lt;P&gt;* GND&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ------ GND&lt;/P&gt;&lt;P&gt;* LIND&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ------ upper right pin of the LIN connector when looking from&lt;/P&gt;&lt;P&gt;*&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; outside of the board towards the board&lt;/P&gt;&lt;P&gt;*&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; -------&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; |&amp;nbsp; |D |&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; -------&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; |&amp;nbsp; |&amp;nbsp; |&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; -------&lt;/P&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;* NOTE !!! this connector seems to be differently populated than&lt;/P&gt;&lt;P&gt;*&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; on the MPC5554EVB&lt;/P&gt;&lt;P&gt;* Thus please make sure by a electiral meter that the connecitons&lt;/P&gt;&lt;P&gt;* between Master and Slave are correct.&lt;/P&gt;&lt;P&gt;* &lt;/P&gt;&lt;P&gt;* &lt;/P&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;********************************************************************************&lt;/P&gt;&lt;P&gt;Revision History:&lt;/P&gt;&lt;P&gt;1.0&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Jan-07-2011&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; b08110&amp;nbsp; Initial Version&lt;/P&gt;&lt;P&gt;*******************************************************************************/&lt;/P&gt;&lt;P&gt;#include "MPC5604B_M27V.h"&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;/*******************************************************************************&lt;/P&gt;&lt;P&gt;* Global variables&lt;/P&gt;&lt;P&gt;*******************************************************************************/&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;/*******************************************************************************&lt;/P&gt;&lt;P&gt;* Constants and macros&lt;/P&gt;&lt;P&gt;*******************************************************************************/&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;/*******************************************************************************&lt;/P&gt;&lt;P&gt;* Local types&lt;/P&gt;&lt;P&gt;*******************************************************************************/&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;/*******************************************************************************&lt;/P&gt;&lt;P&gt;* Local function prototypes&lt;/P&gt;&lt;P&gt;*******************************************************************************/&lt;/P&gt;&lt;P&gt;static void InitModesAndClks(void);&lt;/P&gt;&lt;P&gt;static void InitPeriClkGen(void);&lt;/P&gt;&lt;P&gt;static void DisableWatchdog(void);&lt;/P&gt;&lt;P&gt;static void InitLinFlex0(void);&lt;/P&gt;&lt;P&gt;static void InitHW(void);&lt;/P&gt;&lt;P&gt;static void InitSysclk(void); &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;/*******************************************************************************&lt;/P&gt;&lt;P&gt;* Local variables&lt;/P&gt;&lt;P&gt;*******************************************************************************/ &lt;/P&gt;&lt;P&gt;static vuint32_t lin_status = 0;&lt;/P&gt;&lt;P&gt;static vuint32_t lin_status_old = 0;&lt;/P&gt;&lt;P&gt;static vuint32_t temp = 0;&lt;/P&gt;&lt;P&gt;static vuint32_t lin_esr = 0;&lt;/P&gt;&lt;P&gt;static vuint32_t lin_esr_last = 0;&lt;/P&gt;&lt;P&gt;static vuint32_t lin_status_last = 0;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;static vuint32_t lin_bidr = 0;&lt;/P&gt;&lt;P&gt;static vuint32_t&amp;nbsp; rx_data[4];&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;/*******************************************************************************&lt;/P&gt;&lt;P&gt;* Local functions&lt;/P&gt;&lt;P&gt;*******************************************************************************/&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;/*******************************************************************************&lt;/P&gt;&lt;P&gt;Function Name : InitHW&lt;/P&gt;&lt;P&gt;Engineer&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; : b08110&lt;/P&gt;&lt;P&gt;Date&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; : Feb-11-2010&lt;/P&gt;&lt;P&gt;Parameters&amp;nbsp;&amp;nbsp;&amp;nbsp; : NONE&lt;/P&gt;&lt;P&gt;Modifies&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; : NONE&lt;/P&gt;&lt;P&gt;Returns&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; : NONE&lt;/P&gt;&lt;P&gt;Notes&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; : initialization of the hw for the purposes of this example&lt;/P&gt;&lt;P&gt;Issues&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; : NONE&lt;/P&gt;&lt;P&gt;*******************************************************************************/&lt;/P&gt;&lt;P&gt;static void InitHW(void)&lt;/P&gt;&lt;P&gt;{&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; InitSysclk();&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; InitLinFlex0();&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/P&gt;&lt;P&gt;}&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;/*******************************************************************************&lt;/P&gt;&lt;P&gt;Function Name : InitSysclk&lt;/P&gt;&lt;P&gt;Engineer&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; : b08110&lt;/P&gt;&lt;P&gt;Date&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; : Jan-07-2011&lt;/P&gt;&lt;P&gt;Parameters&amp;nbsp;&amp;nbsp;&amp;nbsp; : NONE&lt;/P&gt;&lt;P&gt;Modifies&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; : NONE&lt;/P&gt;&lt;P&gt;Returns&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; : NONE&lt;/P&gt;&lt;P&gt;Notes&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; : initialize Fsys 64 MHz PLL with 8 MHz crystal reference&lt;/P&gt;&lt;P&gt;Issues&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; : NONE&lt;/P&gt;&lt;P&gt;*******************************************************************************/&lt;/P&gt;&lt;P&gt;static void InitSysclk(void)&lt;/P&gt;&lt;P&gt;{&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; InitModesAndClks();&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; InitPeriClkGen();&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; DisableWatchdog(); &lt;/P&gt;&lt;P&gt;}&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;/*******************************************************************************&lt;/P&gt;&lt;P&gt;Function Name : InitModesAndClks&lt;/P&gt;&lt;P&gt;Engineer&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; : b08110&lt;/P&gt;&lt;P&gt;Date&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; : Jan-07-2011&lt;/P&gt;&lt;P&gt;Parameters&amp;nbsp;&amp;nbsp;&amp;nbsp; : NONE&lt;/P&gt;&lt;P&gt;Modifies&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; : NONE&lt;/P&gt;&lt;P&gt;Returns&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; : NONE&lt;/P&gt;&lt;P&gt;Notes&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; : initialize Fsys 64 MHz PLL with 8 MHz crystal reference&lt;/P&gt;&lt;P&gt;Issues&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; : NONE&lt;/P&gt;&lt;P&gt;*******************************************************************************/&lt;/P&gt;&lt;P&gt;static void InitModesAndClks(void) &lt;/P&gt;&lt;P&gt;{&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; ME.MER.R = 0x0000001D;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; /* Enable DRUN, RUN0, SAFE, RESET modes */&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; /* Initialize PLL before turning it on: */&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; /* Use 1 of the next 2 lines depending on crystal frequency: */&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; CGM.FMPLL_CR.R = 0x02400100; /* 8 MHz xtal: Set PLL0 to 64 MHz */&amp;nbsp;&amp;nbsp; &lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; /*CGM.FMPLL[0].CR.R = 0x12400100;*//* 40 MHz xtal: Set PLL0 to 64 MHz */&amp;nbsp;&amp;nbsp; &lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; ME.RUN[0].R = 0x001F0074;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; /* RUN0 cfg: 16MHzIRCON,OSC0ON,PLL0ON,syclk=PLL */&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; ME.RUNPC[0].R = 0x00000010;&amp;nbsp; /* Peri. Cfg. 0 settings: only run in RUN0 mode */&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; /* Use the next lines as needed for MPC56xxB/S: */&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; ME.PCTL[48].R = 0x0000;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; /* MPC56xxB LINFlex0: select ME.RUNPC[0] */&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; ME.PCTL[68].R = 0x0000;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; /* MPC56xxB/S SIUL:&amp;nbsp; select ME.RUNPC[0] */&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; /* Mode Transition to enter RUN0 mode: */&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; ME.MCTL.R = 0x40005AF0;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; /* Enter RUN0 Mode &amp;amp; Key */&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; ME.MCTL.R = 0x4000A50F;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; /* Enter RUN0 Mode &amp;amp; Inverted Key */&amp;nbsp; &lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; while (ME.IS.B.I_MTC != 1) {}&amp;nbsp;&amp;nbsp;&amp;nbsp; /* Wait for mode transition to complete */&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; ME.IS.R = 0x00000001;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; /* Clear Transition flag */&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/P&gt;&lt;P&gt;}&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;/*******************************************************************************&lt;/P&gt;&lt;P&gt;Function Name : InitPeriClkGen&lt;/P&gt;&lt;P&gt;Engineer&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; : b08110&lt;/P&gt;&lt;P&gt;Date&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; : Jan-07-2011&lt;/P&gt;&lt;P&gt;Parameters&amp;nbsp;&amp;nbsp;&amp;nbsp; : NONE&lt;/P&gt;&lt;P&gt;Modifies&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; : NONE&lt;/P&gt;&lt;P&gt;Returns&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; : NONE&lt;/P&gt;&lt;P&gt;Notes&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; : Enable peri set 1 to be fsys div by 1&lt;/P&gt;&lt;P&gt;Issues&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; : NONE&lt;/P&gt;&lt;P&gt;*******************************************************************************/&lt;/P&gt;&lt;P&gt;static void InitPeriClkGen(void) &lt;/P&gt;&lt;P&gt;{&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; /* Use the following code as required for MPC56xxB or MPC56xxS:*/&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; CGM.SC_DC[0].R = 0x80;&amp;nbsp;&amp;nbsp; /* MPC56xxB/S: Enable peri set 1 sysclk divided by 1 */&lt;/P&gt;&lt;P&gt;}&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;/*******************************************************************************&lt;/P&gt;&lt;P&gt;Function Name : DisableWatchdog&lt;/P&gt;&lt;P&gt;Engineer&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; : b08110&lt;/P&gt;&lt;P&gt;Date&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; : Jan-07-2011&lt;/P&gt;&lt;P&gt;Parameters&amp;nbsp;&amp;nbsp;&amp;nbsp; : NONE&lt;/P&gt;&lt;P&gt;Modifies&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; : NONE&lt;/P&gt;&lt;P&gt;Returns&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; : NONE&lt;/P&gt;&lt;P&gt;Notes&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; : disable the watchdog&lt;/P&gt;&lt;P&gt;Issues&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; : NONE&lt;/P&gt;&lt;P&gt;*******************************************************************************/&lt;/P&gt;&lt;P&gt;static void DisableWatchdog(void) &lt;/P&gt;&lt;P&gt;{&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; SWT.SR.R = 0x0000c520;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; /* Write keys to clear soft lock bit */&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; SWT.SR.R = 0x0000d928; &lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; SWT.CR.R = 0x8000010A;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; /* Clear watchdog enable (WEN) */&lt;/P&gt;&lt;P&gt;} &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;/*******************************************************************************&lt;/P&gt;&lt;P&gt;Function Name : InitLinFlex0&lt;/P&gt;&lt;P&gt;Engineer&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; : b08110&lt;/P&gt;&lt;P&gt;Date&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; : Jan-07-2011&lt;/P&gt;&lt;P&gt;Parameters&amp;nbsp;&amp;nbsp;&amp;nbsp; : NONE&lt;/P&gt;&lt;P&gt;Modifies&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; : NONE&lt;/P&gt;&lt;P&gt;Returns&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; : NONE&lt;/P&gt;&lt;P&gt;Notes&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; : Init LinFlex0 as a LIN Slave&lt;/P&gt;&lt;P&gt;Issues&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; : NONE&lt;/P&gt;&lt;P&gt;*******************************************************************************/&lt;/P&gt;&lt;P&gt;static void InitLinFlex0(void) &lt;/P&gt;&lt;P&gt;{&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; /* enter INIT mode */&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; LINFLEX_0.LINCR1.R = 0x0081; /* SLEEP=0, INIT=1 */&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; /* wait for the INIT mode */&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; while (0x1000 != (LINFLEX_0.LINSR.R &amp;amp; 0xF000)) {}&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; /* configure pads */&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; //SIU.PCR[18].R = 0x0604;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; /* Configure pad PB2 for AF1 func: LIN0TX */&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; //SIU.PCR[19].R = 0x0100;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; /* Configure pad PB3 for LIN0RX */&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; SIU.PCR[18].R = 0x0400;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; /* MPC56xxB: Configure port B2 as LIN0TX */&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; SIU.PCR[19].R = 0x0103;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; /* MPC56xxB: Configure port B3 as LIN0RX */&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; /* configure baudrate 19200 */&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; /* assuming 64 MHz peripheral set 1 clock */&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; LINFLEX_0.LINFBRR.R = 5;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; LINFLEX_0.LINIBRR.R = 208;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; LINFLEX_0.LINCR2.R = 0x20; /* clear IOBE */&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; /* default timeout */&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; LINFLEX_0.LINTCSR.R = 0;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; /* enter NORMAL mode */&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; /* CCD bit 16 = 0 for checksum calculation by hardware&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; CFD bit 17 = 0 for checksum field is sent after the required number &lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; of data bytes is sent&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; LASE bit 18 = 1 for Slave automatic resync enable&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; AWUM bit 19 = 0 for The sleep mode is exited on software request&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; MBL bits 20:23 = 0b0011 for 13-bit LIN Master break length&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; BF bit 24 = 1 for bypass filter interrupt on ID not matching any filter&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; SFTM bit 25 = 0 for Self Test mode disable&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; LBKM bit 26 = 0 for Loop Back mode disable&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; MME bit 27 = 0 for Slave mode&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; SBDT bit 28 = 0 for 11-bit Slave Mode break threshold&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; RBLM bit 29 = 0 for Receive Buffer not locked on overrun&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; SLEEP bit 30 = 0&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; INIT bit 31 = 0 for entering Normal mode&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; =&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 0x0390 &lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; */&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; LINFLEX_0.LINCR1.R = 0x2380;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; LINFLEX_0.BIDR.B.CCS = 0; /* enhanced checksum for LIN Slave */&lt;/P&gt;&lt;P&gt;}&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;/*******************************************************************************&lt;/P&gt;&lt;P&gt;Function Name : TransmitData&lt;/P&gt;&lt;P&gt;Engineer&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; : b08110&lt;/P&gt;&lt;P&gt;Date&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; : Jan-07-2011&lt;/P&gt;&lt;P&gt;Parameters&amp;nbsp;&amp;nbsp;&amp;nbsp; : NONE&lt;/P&gt;&lt;P&gt;Modifies&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; : NONE&lt;/P&gt;&lt;P&gt;Returns&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; : NONE&lt;/P&gt;&lt;P&gt;Notes&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; : Lin Master Tx frame - example&lt;/P&gt;&lt;P&gt;Issues&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; : Not used in this example. Just a relict since the Slave code&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; was started from a Master code.&lt;/P&gt;&lt;P&gt;*******************************************************************************/&lt;/P&gt;&lt;P&gt;static void TransmitData(void)&lt;/P&gt;&lt;P&gt;{&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; /* store the data in the message buffer BDR */&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; LINFLEX_0.BDRL.B.DATA0 = 'H';&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; LINFLEX_0.BDRL.B.DATA1 = 'e';&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; LINFLEX_0.BDRL.B.DATA2 = 'l';&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; LINFLEX_0.BDRL.B.DATA3 = 'l';&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; LINFLEX_0.BDRM.B.DATA4 = 'o';&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; LINFLEX_0.BDRM.B.DATA5 = ' ';&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; LINFLEX_0.BDRM.B.DATA6 = ',';&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; LINFLEX_0.BDRM.B.DATA7 = ' ';&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;#if 1&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; /* Master to publish 8 bytes. ID = 0x35 */&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; LINFLEX_0.BIDR.R = 0x1E35;&lt;/P&gt;&lt;P&gt;#else&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; /* Master to send header only. ID = 0x35 */&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; LINFLEX_0.BIDR.R = 0x0035;&lt;/P&gt;&lt;P&gt;#endif&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; /* Trigger Frame transmission */&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; LINFLEX_0.LINCR2.B.HTRQ = 1;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; /* wait until Master response to the LIN header has been sent successfully */&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; while(0 == LINFLEX_0.LINSR.B.DTF) &lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; /* track LIN Status */&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; temp = LINFLEX_0.LINSR.R;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; lin_status = temp &amp;amp; 0x000F000;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; lin_esr = LINFLEX_0.LINESR.R;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; if((lin_esr &amp;amp; 0x00002000)==0x00002000)&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; /* BEF detected */&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; lin_esr_last = lin_esr;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; lin_status_last = lin_status;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; LINFLEX_0.LINESR.R = 0x00002000;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; /* abort transmission */&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; LINFLEX_0.LINCR2.B.ABRQ = 1;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; /* wait until cleared by hardware */&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; while(0 != LINFLEX_0.LINCR2.B.ABRQ) &lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; while(1)&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; if(lin_status &amp;gt; lin_status_old)&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; lin_status_old = lin_status;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; LINFLEX_0.LINSR.R = 0x0002; /* clear the DTF bit */&lt;/P&gt;&lt;P&gt;}&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;/*******************************************************************************&lt;/P&gt;&lt;P&gt;Function Name : LinSlaveReceiveHeader&lt;/P&gt;&lt;P&gt;Engineer&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; : b08110&lt;/P&gt;&lt;P&gt;Date&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; : Jan-07-2011&lt;/P&gt;&lt;P&gt;Parameters&amp;nbsp;&amp;nbsp;&amp;nbsp; : NONE&lt;/P&gt;&lt;P&gt;Modifies&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; : NONE&lt;/P&gt;&lt;P&gt;Returns&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; : NONE&lt;/P&gt;&lt;P&gt;Notes&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; : Lin Slave - polled wait for a header and id reception.&lt;/P&gt;&lt;P&gt;Issues&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; : NONE&lt;/P&gt;&lt;P&gt;*******************************************************************************/&lt;/P&gt;&lt;P&gt;static void LinSlaveReceiveHeader(void)&lt;/P&gt;&lt;P&gt;{&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; /* wait for LINSR[HRF] (identifier received) */&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; while(0 == LINFLEX_0.LINSR.B.HRF) {}&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; /* read the received id from BIDR */&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; lin_bidr = LINFLEX_0.BIDR.R;&lt;/P&gt;&lt;P&gt;}&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;/*******************************************************************************&lt;/P&gt;&lt;P&gt;Function Name : LinSlaveDataReception&lt;/P&gt;&lt;P&gt;Engineer&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; : b08110&lt;/P&gt;&lt;P&gt;Date&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; : Jan-07-2011&lt;/P&gt;&lt;P&gt;Parameters&amp;nbsp;&amp;nbsp;&amp;nbsp; : NONE&lt;/P&gt;&lt;P&gt;Modifies&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; : NONE&lt;/P&gt;&lt;P&gt;Returns&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; : NONE&lt;/P&gt;&lt;P&gt;Notes&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; : Lin Slave - data reception (subscriber)&lt;/P&gt;&lt;P&gt;Issues&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; : up to 8 bytes. for longer frames DFL&amp;gt;7, DBFF have to be used&lt;/P&gt;&lt;P&gt;*******************************************************************************/&lt;/P&gt;&lt;P&gt;static void LinSlaveDataReception(void)&lt;/P&gt;&lt;P&gt;{&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; LinSlaveReceiveHeader();&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; /* specify the data field length BIDR[DFL] */&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; LINFLEX_0.BIDR.B.DFL = 0x03; /* 4 bytes - 1 */&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; LINFLEX_0.BIDR.B.DIR = 0; /* BDR direction read */&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; while(0 == LINFLEX_0.LINSR.B.DRF) {}&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; /* read BDR registers */&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; rx_data[0] = LINFLEX_0.BDRL.B.DATA0;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; rx_data[1] = LINFLEX_0.BDRL.B.DATA1;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; rx_data[2] = LINFLEX_0.BDRL.B.DATA2;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; rx_data[3] = LINFLEX_0.BDRL.B.DATA3;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; /* clear HRF and DRF flags */&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; LINFLEX_0.LINSR.R = 0x0005;&lt;/P&gt;&lt;P&gt;}&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;/*******************************************************************************&lt;/P&gt;&lt;P&gt;Function Name : LinSlaveDataTransmission&lt;/P&gt;&lt;P&gt;Engineer&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; : b08110&lt;/P&gt;&lt;P&gt;Date&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; : Jan-07-2011&lt;/P&gt;&lt;P&gt;Parameters&amp;nbsp;&amp;nbsp;&amp;nbsp; : NONE&lt;/P&gt;&lt;P&gt;Modifies&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; : NONE&lt;/P&gt;&lt;P&gt;Returns&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; : NONE&lt;/P&gt;&lt;P&gt;Notes&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; : Lin Slave - data transmission (publisher)&lt;/P&gt;&lt;P&gt;Issues&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; : up to 8 bytes. for longer frames DFL&amp;gt;7, DBEF have to be used&lt;/P&gt;&lt;P&gt;*******************************************************************************/&lt;/P&gt;&lt;P&gt;static void LinSlaveDataTransmission(void)&lt;/P&gt;&lt;P&gt;{&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; static uint32_t toggle = 0;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; LinSlaveReceiveHeader();&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; LINFLEX_0.BIDR.B.DIR = 1; /* BDR direction - write */&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; /* fill the BDR registers */&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; LINFLEX_0.BDRL.B.DATA0 = toggle;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; LINFLEX_0.BDRL.B.DATA1 = 0x55;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; LINFLEX_0.BDRL.B.DATA2 = 0xAA;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; LINFLEX_0.BDRL.B.DATA3 = 0x55;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; /* specify the data field length BIDR[DFL] */&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; LINFLEX_0.BIDR.B.DFL = 0x03; /* 4 bytes - 1 */&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; /* trigger the data transmission */&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; LINFLEX_0.LINCR2.B.DTRQ = 1;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; /* wait for data transmission complete flag */&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; while(0 == LINFLEX_0.LINSR.B.DTF) {}&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; /* clear HRF and DTF flags */&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; LINFLEX_0.LINSR.R = 0x0003;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; /* toggle dat for next frame */&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; if(toggle==0) toggle = 1;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; else toggle = 0;&lt;/P&gt;&lt;P&gt;}&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;/*******************************************************************************&lt;/P&gt;&lt;P&gt;* Global functions&lt;/P&gt;&lt;P&gt;*******************************************************************************/&lt;/P&gt;&lt;P&gt;int32_t main(void) &lt;/P&gt;&lt;P&gt;{&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; uint32_t i = 0;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; InitHW(); &lt;/P&gt;&lt;P&gt;&amp;nbsp; &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; /* Loop forever */&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; for (;;) &lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; //LinSlaveDataReception();&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; LinSlaveDataTransmission();&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; i++;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/P&gt;&lt;P&gt;}&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN class="mce_paste_marker"&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 23 Jan 2013 07:50:38 GMT</pubDate>
      <guid>https://community.nxp.com/t5/MPC5xxx/LIN-Slave-Mode-In-MPC5604B/m-p/228306#M49</guid>
      <dc:creator>lama</dc:creator>
      <dc:date>2013-01-23T07:50:38Z</dc:date>
    </item>
    <item>
      <title>Re: LIN Slave Mode In MPC5604B</title>
      <link>https://community.nxp.com/t5/MPC5xxx/LIN-Slave-Mode-In-MPC5604B/m-p/228307#M50</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Thank you!&lt;/P&gt;&lt;P&gt;I'm going to check it. I need some application to use this communication with INTs, but this could be first approach.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 25 Jan 2013 11:56:17 GMT</pubDate>
      <guid>https://community.nxp.com/t5/MPC5xxx/LIN-Slave-Mode-In-MPC5604B/m-p/228307#M50</guid>
      <dc:creator>pvarela</dc:creator>
      <dc:date>2013-01-25T11:56:17Z</dc:date>
    </item>
    <item>
      <title>Re: LIN Slave Mode In MPC5604B</title>
      <link>https://community.nxp.com/t5/MPC5xxx/LIN-Slave-Mode-In-MPC5604B/m-p/228308#M51</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi Lad,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt; With few modifications, I am able to use your sample code also with an MPC5604/2 Pictus Demo board; FlexLIN interrupts are used and this represents main difference with your sample. Anyway, if I put TX/RX trip into a loop (every 150 msec, but it is just a detail), I notice that, &lt;SPAN style="text-decoration: underline;"&gt;IN THE ONLY CASE OF&lt;/SPAN&gt; &lt;SPAN style="text-decoration: underline;"&gt;MPC5604P&lt;/SPAN&gt;, slave response is not syncronized; sometimes it send entire response correctly, once only one byte, once 5 bytes and so on, showing a random behaviour. Using an MPC5602P Demo board all works fine.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;It seems that the trigger for the data transmission (LINFLEX_0.LINCR2.B.DTRQ = 1;) does not work fine, as if queues are not well triggered (otherwise I do not understand why peripherals sends randomly correct/incorrect response).&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Have you experienced anything like this?&lt;/P&gt;&lt;P&gt;&lt;SPAN class="mce_paste_marker"&gt;&lt;BR /&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN class="mce_paste_marker"&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 14 Feb 2013 13:34:14 GMT</pubDate>
      <guid>https://community.nxp.com/t5/MPC5xxx/LIN-Slave-Mode-In-MPC5604B/m-p/228308#M51</guid>
      <dc:creator>andrea_mocci</dc:creator>
      <dc:date>2013-02-14T13:34:14Z</dc:date>
    </item>
    <item>
      <title>Re: LIN Slave Mode In MPC5604B</title>
      <link>https://community.nxp.com/t5/MPC5xxx/LIN-Slave-Mode-In-MPC5604B/m-p/228309#M52</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;I will try to investigate. I have found your request also in support box so I will solve it together. All further communication I will direct to support box. Ladislav.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 15 Feb 2013 05:39:25 GMT</pubDate>
      <guid>https://community.nxp.com/t5/MPC5xxx/LIN-Slave-Mode-In-MPC5604B/m-p/228309#M52</guid>
      <dc:creator>lama</dc:creator>
      <dc:date>2013-02-15T05:39:25Z</dc:date>
    </item>
    <item>
      <title>Re: LIN Slave Mode In MPC5604B</title>
      <link>https://community.nxp.com/t5/MPC5xxx/LIN-Slave-Mode-In-MPC5604B/m-p/228310#M53</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Finally I used RAppiD_init Tool to configure LIN Slave mode in MCP5604B with Interrups, and works fine. There is one project example in path installation:&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;C:\Program Files (x86)\RAppID\560xB\Examples\LinflexTutorial&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 15 Feb 2013 08:24:17 GMT</pubDate>
      <guid>https://community.nxp.com/t5/MPC5xxx/LIN-Slave-Mode-In-MPC5604B/m-p/228310#M53</guid>
      <dc:creator>pvarela</dc:creator>
      <dc:date>2013-02-15T08:24:17Z</dc:date>
    </item>
    <item>
      <title>Re: LIN Slave Mode In MPC5604B</title>
      <link>https://community.nxp.com/t5/MPC5xxx/LIN-Slave-Mode-In-MPC5604B/m-p/228311#M54</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi nostradamux,&lt;/P&gt;&lt;P&gt;I have seen RAppID linflex example; ok, it use ISR but it does not solve my problem, damnnnnn ;(...It seems that data triggering has not enough time to send all data bytes, as to say once it sends entire frame, once only BDRL.B.DATA0, once only BDRL.B.DATA0 and BDRL.B.DATA1,2, etc etc, in a totally randow way.&lt;/P&gt;&lt;P&gt;I do not know....&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 15 Feb 2013 11:26:59 GMT</pubDate>
      <guid>https://community.nxp.com/t5/MPC5xxx/LIN-Slave-Mode-In-MPC5604B/m-p/228311#M54</guid>
      <dc:creator>andrea_mocci</dc:creator>
      <dc:date>2013-02-15T11:26:59Z</dc:date>
    </item>
  </channel>
</rss>

