<?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 Problems with uart communication on MC9S08PT60 mcu (CW 10.5 and 10.6) in Processor Expert Software</title>
    <link>https://community.nxp.com/t5/Processor-Expert-Software/Problems-with-uart-communication-on-MC9S08PT60-mcu-CW-10-5-and/m-p/302843#M2273</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi everyone!&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I'm trying to communicate serially between a TWR-S08PT60 kit, and the hyperterminal in my PC,&lt;/P&gt;&lt;P&gt;with the Processor Expert component "term", and the code generated by it.&lt;/P&gt;&lt;P&gt;I seem to be having two different problems, I don't know if they are related to each other...&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;First, the baudrate is off by roughly 10% &lt;/P&gt;&lt;P&gt;When I set it to 9600 baud, the length of one bit sent from the mcu is 115us instead of 104us&lt;/P&gt;&lt;P&gt;Here are a couple of screenshots on how I've set the timing:&lt;/P&gt;&lt;P&gt;(I changed the internal oscillator to 36kHz to allow for a wide variety of baud rates)&lt;/P&gt;&lt;P&gt; &lt;span class="lia-inline-image-display-wrapper"&gt;&lt;img src="https://community.nxp.com/t5/image/serverpage/image-id/43836iC67DCEC8C250DFE0/image-size/large?v=v2&amp;amp;px=999" title="Screenshot 2014-04-24 14.14.38.png" alt="Screenshot 2014-04-24 14.14.38.png" /&gt;&lt;/span&gt;&lt;/P&gt;&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper"&gt;&lt;img src="https://community.nxp.com/t5/image/serverpage/image-id/43878iA47888CBA3942D0E/image-size/large?v=v2&amp;amp;px=999" title="Screenshot 2014-04-24 14.22.11.png" alt="Screenshot 2014-04-24 14.22.11.png" /&gt;&lt;/span&gt;&lt;/P&gt;&lt;P&gt;I can trick it into communicating in the correct baud rate if I set the baud rate to 10500 though...&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;The second problem is more critical.&lt;/P&gt;&lt;P&gt;When the mcu is reading a character from the PC, it's reading two characters even if there are only one sent.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;The following code should echo the received character back to the PC: &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;EM&gt;void main(void) &lt;/EM&gt;&lt;/P&gt;&lt;P&gt;&lt;EM&gt;unsigned char ch;&lt;/EM&gt;&lt;/P&gt;&lt;P&gt;&lt;EM&gt;while(1) &lt;/EM&gt;&lt;/P&gt;&lt;P&gt;&lt;EM&gt;{&lt;/EM&gt;&lt;/P&gt;&lt;P&gt;&lt;EM&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Term1_ReadChar(&amp;amp;ch);&lt;/EM&gt;&lt;/P&gt;&lt;P&gt;&lt;EM&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Term1_SendChar(ch);&lt;/EM&gt;&lt;/P&gt;&lt;P&gt;&lt;EM&gt;}&lt;/EM&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;But in my case it echoes back two characters for every character it receives.&lt;/P&gt;&lt;P&gt;The first character sent is the same as it receives (as long as I have set the baudrate to 10500), &lt;/P&gt;&lt;P&gt;the second one is the same as the first BUT shifted one bit.&lt;/P&gt;&lt;P&gt;ie. if i send an ascii '4' (0x34)=(00110100) from the PC&lt;/P&gt;&lt;P&gt;I will receive '4Ü' from the mcu.&lt;/P&gt;&lt;P&gt;'Ü' (0x9A)=(10011010)&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I've tried this with both&amp;nbsp; CW 10.5 and CW 10.6, but with the same result.&lt;/P&gt;&lt;P&gt;I've earlier done exactly the same thing with CW 10.2 and a MC9S08AW60 mcu, and it has worked well.&lt;/P&gt;&lt;P&gt;I've double checked the baud rate/parity/stop bit settings in hyperterminal.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Have I forgotten some settings, or is this a bug?&lt;/P&gt;&lt;P&gt;I'm very grateful for any input!&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Best regards&lt;/P&gt;&lt;P&gt;Fredrik &lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Thu, 24 Apr 2014 13:27:43 GMT</pubDate>
    <dc:creator>fredrikb</dc:creator>
    <dc:date>2014-04-24T13:27:43Z</dc:date>
    <item>
      <title>Problems with uart communication on MC9S08PT60 mcu (CW 10.5 and 10.6)</title>
      <link>https://community.nxp.com/t5/Processor-Expert-Software/Problems-with-uart-communication-on-MC9S08PT60-mcu-CW-10-5-and/m-p/302843#M2273</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi everyone!&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I'm trying to communicate serially between a TWR-S08PT60 kit, and the hyperterminal in my PC,&lt;/P&gt;&lt;P&gt;with the Processor Expert component "term", and the code generated by it.&lt;/P&gt;&lt;P&gt;I seem to be having two different problems, I don't know if they are related to each other...&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;First, the baudrate is off by roughly 10% &lt;/P&gt;&lt;P&gt;When I set it to 9600 baud, the length of one bit sent from the mcu is 115us instead of 104us&lt;/P&gt;&lt;P&gt;Here are a couple of screenshots on how I've set the timing:&lt;/P&gt;&lt;P&gt;(I changed the internal oscillator to 36kHz to allow for a wide variety of baud rates)&lt;/P&gt;&lt;P&gt; &lt;span class="lia-inline-image-display-wrapper"&gt;&lt;img src="https://community.nxp.com/t5/image/serverpage/image-id/43836iC67DCEC8C250DFE0/image-size/large?v=v2&amp;amp;px=999" title="Screenshot 2014-04-24 14.14.38.png" alt="Screenshot 2014-04-24 14.14.38.png" /&gt;&lt;/span&gt;&lt;/P&gt;&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper"&gt;&lt;img src="https://community.nxp.com/t5/image/serverpage/image-id/43878iA47888CBA3942D0E/image-size/large?v=v2&amp;amp;px=999" title="Screenshot 2014-04-24 14.22.11.png" alt="Screenshot 2014-04-24 14.22.11.png" /&gt;&lt;/span&gt;&lt;/P&gt;&lt;P&gt;I can trick it into communicating in the correct baud rate if I set the baud rate to 10500 though...&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;The second problem is more critical.&lt;/P&gt;&lt;P&gt;When the mcu is reading a character from the PC, it's reading two characters even if there are only one sent.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;The following code should echo the received character back to the PC: &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;EM&gt;void main(void) &lt;/EM&gt;&lt;/P&gt;&lt;P&gt;&lt;EM&gt;unsigned char ch;&lt;/EM&gt;&lt;/P&gt;&lt;P&gt;&lt;EM&gt;while(1) &lt;/EM&gt;&lt;/P&gt;&lt;P&gt;&lt;EM&gt;{&lt;/EM&gt;&lt;/P&gt;&lt;P&gt;&lt;EM&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Term1_ReadChar(&amp;amp;ch);&lt;/EM&gt;&lt;/P&gt;&lt;P&gt;&lt;EM&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Term1_SendChar(ch);&lt;/EM&gt;&lt;/P&gt;&lt;P&gt;&lt;EM&gt;}&lt;/EM&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;But in my case it echoes back two characters for every character it receives.&lt;/P&gt;&lt;P&gt;The first character sent is the same as it receives (as long as I have set the baudrate to 10500), &lt;/P&gt;&lt;P&gt;the second one is the same as the first BUT shifted one bit.&lt;/P&gt;&lt;P&gt;ie. if i send an ascii '4' (0x34)=(00110100) from the PC&lt;/P&gt;&lt;P&gt;I will receive '4Ü' from the mcu.&lt;/P&gt;&lt;P&gt;'Ü' (0x9A)=(10011010)&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I've tried this with both&amp;nbsp; CW 10.5 and CW 10.6, but with the same result.&lt;/P&gt;&lt;P&gt;I've earlier done exactly the same thing with CW 10.2 and a MC9S08AW60 mcu, and it has worked well.&lt;/P&gt;&lt;P&gt;I've double checked the baud rate/parity/stop bit settings in hyperterminal.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Have I forgotten some settings, or is this a bug?&lt;/P&gt;&lt;P&gt;I'm very grateful for any input!&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Best regards&lt;/P&gt;&lt;P&gt;Fredrik &lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 24 Apr 2014 13:27:43 GMT</pubDate>
      <guid>https://community.nxp.com/t5/Processor-Expert-Software/Problems-with-uart-communication-on-MC9S08PT60-mcu-CW-10-5-and/m-p/302843#M2273</guid>
      <dc:creator>fredrikb</dc:creator>
      <dc:date>2014-04-24T13:27:43Z</dc:date>
    </item>
    <item>
      <title>Re: Problems with uart communication on MC9S08PT60 mcu (CW 10.5 and 10.6)</title>
      <link>https://community.nxp.com/t5/Processor-Expert-Software/Problems-with-uart-communication-on-MC9S08PT60-mcu-CW-10-5-and/m-p/302844#M2274</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;A little update:&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I've changed the "High speed clock" to external, and the internal buss freq to 2.0 MHz.&lt;/P&gt;&lt;P&gt;Now the measured baud rate is the same as the baud rate stated by the "component inspector", but I need to replace the stock 8MHz crystal with one with a more baud rate friendly frequency.&lt;/P&gt;&lt;P&gt;I can run it in 9615 now, but I will later need to use higher baud rates as well...&lt;/P&gt;&lt;P&gt;Why didn't it work when I based the bus freq on the internal clock? &lt;/P&gt;&lt;P&gt;&amp;nbsp; &lt;/P&gt;&lt;P&gt;But the second problem still persists...&lt;/P&gt;&lt;P&gt;I've tried all three UART-ports on the cpu with the same result.&lt;/P&gt;&lt;P&gt;I've also tried with my old MC9S08AW60 mcu again, this time with CW10.6.&lt;/P&gt;&lt;P&gt;And that one works perfectly.&lt;/P&gt;&lt;P&gt;So I suspect the problem is how the ProcessorExpert initializes the UARTs of the MCS08PT60...&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Mon, 28 Apr 2014 14:11:14 GMT</pubDate>
      <guid>https://community.nxp.com/t5/Processor-Expert-Software/Problems-with-uart-communication-on-MC9S08PT60-mcu-CW-10-5-and/m-p/302844#M2274</guid>
      <dc:creator>fredrikb</dc:creator>
      <dc:date>2014-04-28T14:11:14Z</dc:date>
    </item>
    <item>
      <title>Re: Problems with uart communication on MC9S08PT60 mcu (CW 10.5 and 10.6)</title>
      <link>https://community.nxp.com/t5/Processor-Expert-Software/Problems-with-uart-communication-on-MC9S08PT60-mcu-CW-10-5-and/m-p/302845#M2275</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Another update:&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;The baud rate&amp;nbsp; issue is solved.&lt;/P&gt;&lt;P&gt;The component inspector for the cpu had the wrong addresses for the trim register (under advanced settings)&lt;/P&gt;&lt;P&gt;As default they were set to 0xFF6F and 0xFF6E, but should be 0x303A&amp;nbsp; and 0x303B.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;But the&amp;nbsp; second problem still bugs me.&lt;/P&gt;&lt;P&gt;I've written a program that writes the contents of the UART-registers to a terminal window,&lt;/P&gt;&lt;P&gt;before and after I receive a character, and then it reads it one more time after that.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;The code is something like this:&lt;/P&gt;&lt;P&gt;&lt;EM&gt;send_registers_before_read();&lt;/EM&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;EM&gt;Term1_ReadChar(&amp;amp;ch); //Reads one character from PC&lt;/EM&gt;&lt;/P&gt;&lt;P&gt;&lt;EM&gt;Term1_SendChar(ch); //returns the received character to the PC&lt;/EM&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;EM&gt;send_registers_after_read();&lt;/EM&gt;&lt;/P&gt;&lt;P&gt;&lt;EM&gt;send_registers_after_read_again();&lt;/EM&gt;&lt;/P&gt;&lt;P&gt;&lt;EM&gt; &lt;/EM&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: mceinline;"&gt;And this is the result:&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: mceinline;"&gt;&lt;span class="lia-inline-image-display-wrapper"&gt;&lt;img src="https://community.nxp.com/t5/image/serverpage/image-id/44271iC25128D2DFEA9A96/image-size/large?v=v2&amp;amp;px=999" title="Screenshot 2014-05-05 14.54.14s.png" alt="Screenshot 2014-05-05 14.54.14s.png" /&gt;&lt;/span&gt;&lt;/SPAN&gt;&lt;STRONG&gt; &lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: mceinline;"&gt;The problem seems to be that the RDRF and IDLE-bit (SCI1_S1 bit 5 and 4)doesn't get reset until it's been read a second time.&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: mceinline;"&gt;So they indicate that the receiver data buffer is still full...&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: mceinline;"&gt;The function "&lt;EM&gt;Term1_ReadChar(&amp;amp;ch)&lt;/EM&gt;" reads both SCI1_S1 and SCI1_D and that should be enough to reset the RDRF and IDLE bits &lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: mceinline;"&gt; &lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: mceinline;"&gt;The fact that the data still in the buffer(SCI1_D) is shifted one bit, I no longer think is a problem in itself.&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: mceinline;"&gt;That's probably just residual data, that shouldn't be read anyway...&lt;/SPAN&gt;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Mon, 05 May 2014 14:00:58 GMT</pubDate>
      <guid>https://community.nxp.com/t5/Processor-Expert-Software/Problems-with-uart-communication-on-MC9S08PT60-mcu-CW-10-5-and/m-p/302845#M2275</guid>
      <dc:creator>fredrikb</dc:creator>
      <dc:date>2014-05-05T14:00:58Z</dc:date>
    </item>
    <item>
      <title>Re: Problems with uart communication on MC9S08PT60 mcu (CW 10.5 and 10.6)</title>
      <link>https://community.nxp.com/t5/Processor-Expert-Software/Problems-with-uart-communication-on-MC9S08PT60-mcu-CW-10-5-and/m-p/302846#M2276</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;&amp;nbsp; Hello Fredrik,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp; The "Trim value address" property is not the address of the trim register, it is a location in flash memory from where the generated initialization code reads the value that will be used to initialize the trim register. You can see this assignment in generated code (file cpu.c, function _EntryPoint). The trim value is written in that flash location by the debugger when the code is downloaded.&lt;/P&gt;&lt;P&gt;&amp;nbsp; If you need to change the internal oscillator frequency it is not enough to change it in PEx, you must also inform the debugger. You can do that in Run -&amp;gt; Debug configurations, Main tab, Target settings group, press Edit button, then Advanced Programming Options, and write the desired frequency in the box on the bottom of the window. This will cause the debugger to compute the trim value properly.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp; I could&amp;nbsp; not reproduce the second issue, my echo example worked perfectly and all registers values were correct. Perhaps it is related to the first problem, can you please check if the problem persists after fixing the internal oscillator frequency?&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp; Best regards,&lt;/P&gt;&lt;P&gt;&amp;nbsp; Cristian&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 07 May 2014 14:20:59 GMT</pubDate>
      <guid>https://community.nxp.com/t5/Processor-Expert-Software/Problems-with-uart-communication-on-MC9S08PT60-mcu-CW-10-5-and/m-p/302846#M2276</guid>
      <dc:creator>cristianzamfire</dc:creator>
      <dc:date>2014-05-07T14:20:59Z</dc:date>
    </item>
    <item>
      <title>Re: Problems with uart communication on MC9S08PT60 mcu (CW 10.5 and 10.6)</title>
      <link>https://community.nxp.com/t5/Processor-Expert-Software/Problems-with-uart-communication-on-MC9S08PT60-mcu-CW-10-5-and/m-p/302847#M2277</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi Christian,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Thank you for explaining about the trim value addresses, I had that backwards.&lt;/P&gt;&lt;P&gt;I ended up adjusting the trim value manually instead by writing a value (0x55) to the ICS_C3 register.&lt;/P&gt;&lt;P&gt;But I have now changed back the trim value addresses, and I'm using the automatic trim adjustment when programming, as you suggest.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;But it behaves exactly the same :smileysad:&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I've mailed my project to a support guy (Jorge Alberto) and he can't replicate the problem either...&lt;/P&gt;&lt;P&gt;So I'm completely lost on what to do next, and my customer is loosing patience...&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 07 May 2014 14:51:43 GMT</pubDate>
      <guid>https://community.nxp.com/t5/Processor-Expert-Software/Problems-with-uart-communication-on-MC9S08PT60-mcu-CW-10-5-and/m-p/302847#M2277</guid>
      <dc:creator>fredrikb</dc:creator>
      <dc:date>2014-05-07T14:51:43Z</dc:date>
    </item>
    <item>
      <title>Re: Problems with uart communication on MC9S08PT60 mcu (CW 10.5 and 10.6)</title>
      <link>https://community.nxp.com/t5/Processor-Expert-Software/Problems-with-uart-communication-on-MC9S08PT60-mcu-CW-10-5-and/m-p/302848#M2278</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;&lt;SPAN style="font-family: 'Arial'; font-size: 10pt;"&gt;I finally tried a third lab-kit, and the problem vanished...&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: 'Arial'; font-size: 10pt;"&gt;It turned out that the first two had CPU:s from a certain batch (2N40C), which had a known problem with the UART.&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: 'Arial'; font-size: 10pt;"&gt;When I googled the batch number I found this errata sheet:&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;A href="http://cache.freescale.com/files/microcontrollers/doc/errata/PC9S08PT60_2N40C.pdf?fasp=1" title="http://cache.freescale.com/files/microcontrollers/doc/errata/PC9S08PT60_2N40C.pdf?fasp=1"&gt;http://cache.freescale.com/files/microcontrollers/doc/errata/PC9S08PT60_2N40C.pdf?fasp=1&lt;/A&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;BLOCKQUOTE&gt;
&lt;P&gt;e3869: SCI: When SCI is configured in 1 STOP bit mode, a false RDRF flag will be&lt;/P&gt;
&lt;P&gt;generated after the correct RDRF flag is set.&lt;/P&gt;
&lt;P&gt;&lt;/P&gt;
&lt;P&gt;Description: The SCI receiver sets Receive Data Register Full (RDRF) bit twice when 1 STOP bit frame&lt;/P&gt;
&lt;P&gt;format is used. In this case, the first RDRF bit is correct, but the second RDRF bit is a false&lt;/P&gt;
&lt;P&gt;flag. The false RDRF is generated after one bit time of the first RDRF gets set.&lt;/P&gt;
&lt;P&gt;So if there is no delay or the delay is shorter than 1 bit time in between two data transmit&lt;/P&gt;
&lt;P&gt;frames from the transmitter, the S08PT60 SCI receiver will generate a frame error in addition&lt;/P&gt;
&lt;P&gt;to the RDRF flag.&lt;/P&gt;
&lt;P&gt;&lt;/P&gt;
&lt;P&gt;Workaround: 1 bit time delay is required before reading SCI Data Register when RDRF bit is set. In addition,&lt;/P&gt;
&lt;P&gt;in order for S08PT60 to receive the right data bytes in the data stream, the transmitter must&lt;/P&gt;
&lt;P&gt;delay at least one bit time in between two consecutive data frames.&lt;/P&gt;
&lt;P&gt;&lt;/P&gt;


&lt;/BLOCKQUOTE&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Sure, I should have checked all errata sheets earlier.&lt;/P&gt;&lt;P&gt;But one might expect that the Freescale support techs would be aware of it, and could have pointed this out to me from the beginning!&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;And I think this bug is far more serious than a simple "errata-issue".&lt;/P&gt;&lt;P&gt;What if I wrote the code for a CPU of a good batch, and one of these units later were used in the product.&lt;/P&gt;&lt;P&gt;Sure a delay between reading the status byte and the data buffer could be done with a firmware upgrade.&lt;/P&gt;&lt;P&gt;But since the other device it communicates with also needs a delay when transmitting,&lt;/P&gt;&lt;P&gt;what if the CPU:s were used in an application where I can't effect the delay from the other device.&lt;/P&gt;&lt;P&gt;Then a CPU from this batch would effectively kill the entire product.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;This whole mess has made me think twice about choosing a freescale CPU...&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 27 May 2014 13:37:30 GMT</pubDate>
      <guid>https://community.nxp.com/t5/Processor-Expert-Software/Problems-with-uart-communication-on-MC9S08PT60-mcu-CW-10-5-and/m-p/302848#M2278</guid>
      <dc:creator>fredrikb</dc:creator>
      <dc:date>2014-05-27T13:37:30Z</dc:date>
    </item>
  </channel>
</rss>

