<?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>MPC5xxxのトピック[MPC5604P] UART scanf function</title>
    <link>https://community.nxp.com/t5/MPC5xxx/MPC5604P-UART-scanf-function/m-p/663707#M7367</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi&amp;nbsp; all,&lt;/P&gt;&lt;P&gt;I'm trying to receive a character send from Putty on my MPC5604P device. I'm using this Example &lt;A _jive_internal="true" data-containerid="11363" data-containertype="14" data-objectid="329577" data-objecttype="102" href="https://community.nxp.com/docs/DOC-329577"&gt;Example MPC5604P PinToggleStationery CW210&lt;/A&gt; from Martin Kovar.&lt;/P&gt;&lt;P&gt;The printf function is working properly, but scanf doesn't work. It seems that UART doesn't receive anything. The UARTSR[DRF] remains zero and the BDRM Register remains empty.&lt;/P&gt;&lt;P&gt;Here is my configuration:&lt;/P&gt;&lt;BLOCKQUOTE class="jive_macro_quote jive-quote jive_text_macro"&gt;&lt;P&gt;#define BAUDRATE 115200&lt;/P&gt;&lt;P style="min-height: 8pt; padding: 0px;"&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;void Init_LINFlex_1(void)&lt;BR /&gt;{&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;/* enter INIT mode */&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;LINFLEX_1.LINCR1.R = 0x0081; /* SLEEP=0, INIT=1 */&lt;BR /&gt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;/* wait for the INIT mode */&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;while (0x1000 != (LINFLEX_1.LINSR.R &amp;amp; 0xF000)) {}&lt;BR /&gt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;/* configure pads */&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;SIU.PCR[35].R = 0x0E04;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; /* Configure pad PC3 for AF3 func: LIN1TX */&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;SIU.PCR[60].R = 0x0100;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; /* Configure pad PD12 for LIN1RX */&lt;BR /&gt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;/* configure for UART mode */&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;LINFLEX_1.UARTCR.R = 0x0001; /* set the UART bit first to be able to write the other bits */&lt;BR /&gt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;LINFLEX_1.UARTCR.R = 0x0033; /* 8bit data, no parity, Tx and Rx enabled, UART mode */&lt;BR /&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; /* Transmit buffer size = 1 (TDFL = 0 */&lt;BR /&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; /* Receive buffer size = 1 (RDFL = 0) */&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;LINFLEX_1.UARTSR.B.SZF = 1;&amp;nbsp;&amp;nbsp; &amp;nbsp;// clear SZF flag&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;LINFLEX_1.UARTSR.B.DRF = 1; // clear data reception completed flag&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;//LINFLEX_1.LINIER.B.DRIE = 1;&amp;nbsp;&amp;nbsp; &amp;nbsp;//enable received interrupt&lt;BR /&gt;&lt;BR /&gt;switch(BAUDRATE) {&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;case 19200:&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;#if defined(CORE_CLOCK_64MHz)&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;LINFLEX_1.LINFBRR.R = 5;&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;LINFLEX_1.LINIBRR.R = 208;&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;#elif defined(CORE_CLOCK_40MHz)&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;LINFLEX_1.LINFBRR.R = 4;&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;LINFLEX_1.LINIBRR.R = 130;&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;#endif&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; break;&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;case 115200:&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;#if defined(CORE_CLOCK_64MHz)&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;LINFLEX_1.LINFBRR.R = 12;&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;LINFLEX_1.LINIBRR.R = 34;&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;#elif defined(CORE_CLOCK_40MHz)&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;LINFLEX_1.LINFBRR.R = ;&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;LINFLEX_1.LINIBRR.R = ;&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;#endif&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;break;&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;default:&amp;nbsp;&amp;nbsp; &amp;nbsp;//9600&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;#if defined(CORE_CLOCK_64MHz)&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;LINFLEX_1.LINFBRR.R = 11;&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;LINFLEX_1.LINIBRR.R = 416;&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;#elif defined(CORE_CLOCK_40MHz)&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;LINFLEX_1.LINFBRR.R = ;&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;LINFLEX_1.LINIBRR.R = ;&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;#endif&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;break;&lt;BR /&gt;}&lt;/P&gt;&lt;/BLOCKQUOTE&gt;&lt;P&gt;Compared to the example I'm using the LINFlex1 module and the other Pads.&lt;/P&gt;&lt;BLOCKQUOTE class="jive_macro_quote jive-quote jive_text_macro"&gt;&lt;P&gt;int32_t ReceiveData(char * const pBuf)&lt;BR /&gt;{&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; int32_t rx_data;&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;/* wait for DRF */&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;while (1 != LINFLEX_1.UARTSR.B.DRF) {}&amp;nbsp; /* Wait for data reception completed flag */&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;/* wait for RMB */&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;while (1 != LINFLEX_1.UARTSR.B.RMB) {}&amp;nbsp; /* Wait for Release Message Buffer */&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;/* get the data */&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;rx_data = LINFLEX_1.BDRM.R; // read whole register due to erratum e4897PS&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;*pBuf = (uint8_t)rx_data; // take&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;/* clear the DRF and RMB flags by writing 1 to them */&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;LINFLEX_1.UARTSR.R = 0x0204;&lt;BR /&gt;}&lt;/P&gt;&lt;/BLOCKQUOTE&gt;&lt;P style="min-height: 8pt; padding: 0px;"&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Within the main I'm sending so characters first and then I'm trying to receive something. What I noticed is that after transmission the UARTSR[SZR] is set.&lt;/P&gt;&lt;P style="min-height: 8pt; padding: 0px;"&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Thanks in advance,&lt;/P&gt;&lt;P&gt;Efim&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Thu, 23 Feb 2017 09:34:43 GMT</pubDate>
    <dc:creator>eschick</dc:creator>
    <dc:date>2017-02-23T09:34:43Z</dc:date>
    <item>
      <title>[MPC5604P] UART scanf function</title>
      <link>https://community.nxp.com/t5/MPC5xxx/MPC5604P-UART-scanf-function/m-p/663707#M7367</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi&amp;nbsp; all,&lt;/P&gt;&lt;P&gt;I'm trying to receive a character send from Putty on my MPC5604P device. I'm using this Example &lt;A _jive_internal="true" data-containerid="11363" data-containertype="14" data-objectid="329577" data-objecttype="102" href="https://community.nxp.com/docs/DOC-329577"&gt;Example MPC5604P PinToggleStationery CW210&lt;/A&gt; from Martin Kovar.&lt;/P&gt;&lt;P&gt;The printf function is working properly, but scanf doesn't work. It seems that UART doesn't receive anything. The UARTSR[DRF] remains zero and the BDRM Register remains empty.&lt;/P&gt;&lt;P&gt;Here is my configuration:&lt;/P&gt;&lt;BLOCKQUOTE class="jive_macro_quote jive-quote jive_text_macro"&gt;&lt;P&gt;#define BAUDRATE 115200&lt;/P&gt;&lt;P style="min-height: 8pt; padding: 0px;"&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;void Init_LINFlex_1(void)&lt;BR /&gt;{&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;/* enter INIT mode */&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;LINFLEX_1.LINCR1.R = 0x0081; /* SLEEP=0, INIT=1 */&lt;BR /&gt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;/* wait for the INIT mode */&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;while (0x1000 != (LINFLEX_1.LINSR.R &amp;amp; 0xF000)) {}&lt;BR /&gt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;/* configure pads */&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;SIU.PCR[35].R = 0x0E04;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; /* Configure pad PC3 for AF3 func: LIN1TX */&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;SIU.PCR[60].R = 0x0100;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; /* Configure pad PD12 for LIN1RX */&lt;BR /&gt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;/* configure for UART mode */&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;LINFLEX_1.UARTCR.R = 0x0001; /* set the UART bit first to be able to write the other bits */&lt;BR /&gt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;LINFLEX_1.UARTCR.R = 0x0033; /* 8bit data, no parity, Tx and Rx enabled, UART mode */&lt;BR /&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; /* Transmit buffer size = 1 (TDFL = 0 */&lt;BR /&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; /* Receive buffer size = 1 (RDFL = 0) */&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;LINFLEX_1.UARTSR.B.SZF = 1;&amp;nbsp;&amp;nbsp; &amp;nbsp;// clear SZF flag&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;LINFLEX_1.UARTSR.B.DRF = 1; // clear data reception completed flag&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;//LINFLEX_1.LINIER.B.DRIE = 1;&amp;nbsp;&amp;nbsp; &amp;nbsp;//enable received interrupt&lt;BR /&gt;&lt;BR /&gt;switch(BAUDRATE) {&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;case 19200:&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;#if defined(CORE_CLOCK_64MHz)&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;LINFLEX_1.LINFBRR.R = 5;&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;LINFLEX_1.LINIBRR.R = 208;&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;#elif defined(CORE_CLOCK_40MHz)&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;LINFLEX_1.LINFBRR.R = 4;&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;LINFLEX_1.LINIBRR.R = 130;&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;#endif&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; break;&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;case 115200:&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;#if defined(CORE_CLOCK_64MHz)&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;LINFLEX_1.LINFBRR.R = 12;&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;LINFLEX_1.LINIBRR.R = 34;&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;#elif defined(CORE_CLOCK_40MHz)&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;LINFLEX_1.LINFBRR.R = ;&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;LINFLEX_1.LINIBRR.R = ;&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;#endif&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;break;&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;default:&amp;nbsp;&amp;nbsp; &amp;nbsp;//9600&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;#if defined(CORE_CLOCK_64MHz)&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;LINFLEX_1.LINFBRR.R = 11;&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;LINFLEX_1.LINIBRR.R = 416;&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;#elif defined(CORE_CLOCK_40MHz)&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;LINFLEX_1.LINFBRR.R = ;&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;LINFLEX_1.LINIBRR.R = ;&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;#endif&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;break;&lt;BR /&gt;}&lt;/P&gt;&lt;/BLOCKQUOTE&gt;&lt;P&gt;Compared to the example I'm using the LINFlex1 module and the other Pads.&lt;/P&gt;&lt;BLOCKQUOTE class="jive_macro_quote jive-quote jive_text_macro"&gt;&lt;P&gt;int32_t ReceiveData(char * const pBuf)&lt;BR /&gt;{&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; int32_t rx_data;&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;/* wait for DRF */&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;while (1 != LINFLEX_1.UARTSR.B.DRF) {}&amp;nbsp; /* Wait for data reception completed flag */&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;/* wait for RMB */&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;while (1 != LINFLEX_1.UARTSR.B.RMB) {}&amp;nbsp; /* Wait for Release Message Buffer */&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;/* get the data */&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;rx_data = LINFLEX_1.BDRM.R; // read whole register due to erratum e4897PS&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;*pBuf = (uint8_t)rx_data; // take&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;/* clear the DRF and RMB flags by writing 1 to them */&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;LINFLEX_1.UARTSR.R = 0x0204;&lt;BR /&gt;}&lt;/P&gt;&lt;/BLOCKQUOTE&gt;&lt;P style="min-height: 8pt; padding: 0px;"&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Within the main I'm sending so characters first and then I'm trying to receive something. What I noticed is that after transmission the UARTSR[SZR] is set.&lt;/P&gt;&lt;P style="min-height: 8pt; padding: 0px;"&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Thanks in advance,&lt;/P&gt;&lt;P&gt;Efim&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 23 Feb 2017 09:34:43 GMT</pubDate>
      <guid>https://community.nxp.com/t5/MPC5xxx/MPC5604P-UART-scanf-function/m-p/663707#M7367</guid>
      <dc:creator>eschick</dc:creator>
      <dc:date>2017-02-23T09:34:43Z</dc:date>
    </item>
    <item>
      <title>Re: [MPC5604P] UART scanf function</title>
      <link>https://community.nxp.com/t5/MPC5xxx/MPC5604P-UART-scanf-function/m-p/663708#M7368</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;For those who might have the same issue, I found the reason why the uart module was not able to receive data.&lt;/P&gt;&lt;P&gt;During the pad configuration the PSMI (Pad Selection for Multiplexed Inputs) Register has to be set as follows:&lt;/P&gt;&lt;BLOCKQUOTE class="jive_macro_quote jive-quote jive_text_macro"&gt;&lt;P&gt;SIU.PSMI[32].B.PADSEL = 1;&amp;nbsp;&amp;nbsp; &amp;nbsp;/* Select the PD12 Pin for the LINFlex1 RXD Input Line */&lt;/P&gt;&lt;/BLOCKQUOTE&gt;&lt;P&gt;Regards,&lt;/P&gt;&lt;P&gt;Efim&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 01 Mar 2017 11:04:15 GMT</pubDate>
      <guid>https://community.nxp.com/t5/MPC5xxx/MPC5604P-UART-scanf-function/m-p/663708#M7368</guid>
      <dc:creator>eschick</dc:creator>
      <dc:date>2017-03-01T11:04:15Z</dc:date>
    </item>
  </channel>
</rss>

