<?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 Coldfire Auto RTS toggle in ColdFire/68K Microcontrollers and Processors</title>
    <link>https://community.nxp.com/t5/ColdFire-68K-Microcontrollers/Coldfire-Auto-RTS-toggle/m-p/130901#M785</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;DIV&gt; &lt;/DIV&gt;&lt;DIV&gt; &lt;/DIV&gt;&lt;DIV&gt;&lt;DIV&gt;&lt;SPAN style="color: #ff0000;"&gt;This message contains an entire topic ported&amp;nbsp;from the WildRice - Coldfire forum.&amp;nbsp; Freescale has received the approval from the WildRice administrator on seeding the Freescale forum with messages.&amp;nbsp; The original message and all replies are in this single message. We have seeded this new forum with selected information that we expect will be of value as you search for answers to your questions.&amp;nbsp; Freescale assumes no responsibility whatsoever with respect to Posted Material.&amp;nbsp; For additional information, please see the&lt;/SPAN&gt; &lt;A _jive_internal="true" href="https://community.nxp.com/external-link.jspa?url=http%3A%2F%2Fwww.freescale.com%2Ffiles%2Fabstract%2Fhelp_page%2FTERMSOFUSE.html" rel="nofollow" target="_blank"&gt;&lt;SPAN style=": ; color: #000000;"&gt;Terms of Use - Message Boards and Community Forums&lt;/SPAN&gt;&lt;/A&gt;&lt;SPAN style=";"&gt;.&amp;nbsp; Thank You and Enjoy the Forum!&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;&lt;HR /&gt;Dec 12, 2005, 10:49 AM&lt;/DIV&gt;&lt;/DIV&gt;&lt;DIV&gt;Post #1 of 7 (53 views)&lt;BR /&gt;Copy Shortcut&lt;BR /&gt;&amp;nbsp;[ColdFire] Coldfire Auto RTS toggle&amp;nbsp; Can't Post&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;--------------------------------------------------------------------------------&lt;BR /&gt;&amp;nbsp;&lt;BR /&gt;I'm having trouble getting the RTS auto toggle functionality of the Coldfire&lt;BR /&gt;to work correctly.&lt;/DIV&gt;&lt;DIV&gt;Using debug statements I have verified that I am setting&lt;BR /&gt;UMR1 = 0x13 (Rx RTS off)&lt;BR /&gt;UMR2 = 0x27 (Tx RTS on)&lt;/DIV&gt;&lt;DIV&gt;Before transmitting data, I enable RTS (setting the output pin low by writing&lt;BR /&gt;1 to UOP1)&lt;BR /&gt;After transmitting the processor generates an interrupt and the status&lt;BR /&gt;register reads&lt;BR /&gt;USR=c (Indicating the transmitter is empty and ready)&lt;/DIV&gt;&lt;DIV&gt;At this point, as I understand it, the RTS line should have automatically&lt;BR /&gt;toggled off, but it doesn't.&lt;/DIV&gt;&lt;DIV&gt;I can move it manually with the UOP registers, but this automatic toggle&lt;BR /&gt;feature is not working for me.&lt;/DIV&gt;&lt;DIV&gt;Has anyone else been down this road?&lt;BR /&gt;Any suggestions?&lt;/DIV&gt;&lt;DIV&gt;thank you,&lt;BR /&gt;NZG&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;--------------------------------------------------------------------&lt;/DIV&gt;&lt;DIV&gt;Dec 12, 2005, 11:13 AM&lt;/DIV&gt;&lt;DIV&gt;Post #2 of 7 (53 views)&lt;BR /&gt;Copy Shortcut&lt;BR /&gt;&amp;nbsp;Re: [ColdFire] Coldfire Auto RTS toggle [In reply to]&amp;nbsp; Can't Post&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;--------------------------------------------------------------------------------&lt;BR /&gt;&amp;nbsp;&lt;BR /&gt;Hmmm...&lt;/DIV&gt;&lt;DIV&gt;I experienced a similar problem with RTS on the 5282. I've also heard&lt;BR /&gt;that some 5272 users are experiencing the same problem and that (maybe)&lt;BR /&gt;Freescale has released an errata acknowledging the problem (don't take&lt;BR /&gt;my word on that).&lt;/DIV&gt;&lt;DIV&gt;What proc are you using?&lt;/DIV&gt;&lt;DIV&gt;&lt;BR /&gt;Aaron Shepard&lt;/DIV&gt;&lt;DIV&gt;&lt;BR /&gt;NZG wrote:&lt;/DIV&gt;&lt;DIV&gt;&amp;gt;I'm having trouble getting the RTS auto toggle functionality of the Coldfire&lt;BR /&gt;&amp;gt;to work correctly.&lt;BR /&gt;&amp;gt;&lt;BR /&gt;&amp;gt;Using debug statements I have verified that I am setting&lt;BR /&gt;&amp;gt;UMR1 = 0x13 (Rx RTS off)&lt;BR /&gt;&amp;gt;UMR2 = 0x27 (Tx RTS on)&lt;BR /&gt;&amp;gt;&lt;BR /&gt;&amp;gt;Before transmitting data, I enable RTS (setting the output pin low by writing&lt;BR /&gt;&amp;gt;1 to UOP1)&lt;BR /&gt;&amp;gt;After transmitting the processor generates an interrupt and the status&lt;BR /&gt;&amp;gt;register reads&lt;BR /&gt;&amp;gt;USR=c (Indicating the transmitter is empty and ready)&lt;BR /&gt;&amp;gt;&lt;BR /&gt;&amp;gt;At this point, as I understand it, the RTS line should have automatically&lt;BR /&gt;&amp;gt;toggled off, but it doesn't.&lt;BR /&gt;&amp;gt;&lt;BR /&gt;&amp;gt;I can move it manually with the UOP registers, but this automatic toggle&lt;BR /&gt;&amp;gt;feature is not working for me.&lt;BR /&gt;&amp;gt;&lt;BR /&gt;&amp;gt;Has anyone else been down this road?&lt;BR /&gt;&amp;gt;Any suggestions?&lt;BR /&gt;&amp;gt;&lt;BR /&gt;&amp;gt;thank you,&lt;BR /&gt;&amp;gt;NZG&lt;BR /&gt;&amp;gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;BR /&gt;--------------------------------------------------------------------&lt;/DIV&gt;&lt;DIV&gt;Dec 12, 2005, 11:24 AM&lt;/DIV&gt;&lt;DIV&gt;Post #3 of 7 (53 views)&lt;BR /&gt;Copy Shortcut&lt;BR /&gt;&amp;nbsp;Re: [ColdFire] Coldfire Auto RTS toggle [In reply to]&amp;nbsp; Can't Post&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;--------------------------------------------------------------------------------&lt;BR /&gt;&amp;nbsp;&lt;BR /&gt;On Monday 12 December 2005 1:13 pm, Aaron Shepard wrote:&lt;BR /&gt;&amp;gt; Hmmm...&lt;BR /&gt;&amp;gt;&lt;BR /&gt;&amp;gt; I experienced a similar problem with RTS on the 5282. I've also heard&lt;BR /&gt;&amp;gt; that some 5272 users are experiencing the same problem and that (maybe)&lt;BR /&gt;&amp;gt; Freescale has released an errata acknowledging the problem (don't take&lt;BR /&gt;&amp;gt; my word on that).&lt;BR /&gt;&amp;gt;&lt;BR /&gt;&amp;gt; What proc are you using?&lt;BR /&gt;The 5282.&lt;BR /&gt;I just noticed something in the manual about disabling the transmitter.&lt;BR /&gt;I'm going to try that and see if anything different happens.&lt;BR /&gt;I'll let you know &lt;SPAN aria-label="Happy" class="emoticon_happy emoticon-inline" style="height:16px;width:16px;"&gt;&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;NZG&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;&amp;gt;&lt;BR /&gt;&amp;gt; Aaron Shepard&lt;BR /&gt;&amp;gt;&lt;BR /&gt;&amp;gt; NZG wrote:&lt;BR /&gt;&amp;gt; &amp;gt;I'm having trouble getting the RTS auto toggle functionality of the&lt;BR /&gt;&amp;gt; &amp;gt; Coldfire to work correctly.&lt;BR /&gt;&amp;gt; &amp;gt;&lt;BR /&gt;&amp;gt; &amp;gt;Using debug statements I have verified that I am setting&lt;BR /&gt;&amp;gt; &amp;gt;UMR1 = 0x13 (Rx RTS off)&lt;BR /&gt;&amp;gt; &amp;gt;UMR2 = 0x27 (Tx RTS on)&lt;BR /&gt;&amp;gt; &amp;gt;&lt;BR /&gt;&amp;gt; &amp;gt;Before transmitting data, I enable RTS (setting the output pin low by&lt;BR /&gt;&amp;gt; &amp;gt; writing 1 to UOP1)&lt;BR /&gt;&amp;gt; &amp;gt;After transmitting the processor generates an interrupt and the status&lt;BR /&gt;&amp;gt; &amp;gt;register reads&lt;BR /&gt;&amp;gt; &amp;gt;USR=c (Indicating the transmitter is empty and ready)&lt;BR /&gt;&amp;gt; &amp;gt;&lt;BR /&gt;&amp;gt; &amp;gt;At this point, as I understand it, the RTS line should have automatically&lt;BR /&gt;&amp;gt; &amp;gt;toggled off, but it doesn't.&lt;BR /&gt;&amp;gt; &amp;gt;&lt;BR /&gt;&amp;gt; &amp;gt;I can move it manually with the UOP registers, but this automatic toggle&lt;BR /&gt;&amp;gt; &amp;gt;feature is not working for me.&lt;BR /&gt;&amp;gt; &amp;gt;&lt;BR /&gt;&amp;gt; &amp;gt;Has anyone else been down this road?&lt;BR /&gt;&amp;gt; &amp;gt;Any suggestions?&lt;BR /&gt;&amp;gt; &amp;gt;&lt;BR /&gt;&amp;gt; &amp;gt;thank you,&lt;BR /&gt;&amp;gt; &amp;gt;NZG&lt;BR /&gt;&amp;gt; &amp;gt;&lt;BR /&gt;&amp;gt; &amp;gt;&lt;BR /&gt;&amp;gt; &amp;gt;&lt;BR /&gt;&amp;gt; &amp;gt;&lt;BR /&gt;&amp;gt; &amp;gt;&lt;BR /&gt;&amp;gt; &amp;gt;--------------------------------------------------------------------&lt;/DIV&gt;&lt;DIV&gt;&lt;BR /&gt;--------------------------------------------------------------------&lt;/DIV&gt;&lt;DIV&gt;Dec 12, 2005, 11:53 AM&lt;/DIV&gt;&lt;DIV&gt;Post #4 of 7 (53 views)&lt;BR /&gt;Copy Shortcut&lt;BR /&gt;&amp;nbsp;Re: [ColdFire] Coldfire Auto RTS toggle [In reply to]&amp;nbsp; Can't Post&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;--------------------------------------------------------------------------------&lt;BR /&gt;&amp;nbsp;&lt;BR /&gt;&amp;gt; &amp;gt; &amp;gt;I'm having trouble getting the RTS auto toggle functionality of the&lt;BR /&gt;&amp;gt; &amp;gt; &amp;gt; Coldfire to work correctly.&lt;BR /&gt;&amp;gt; &amp;gt; I experienced a similar problem with RTS on the 5282. I've also heard&lt;BR /&gt;&amp;gt; &amp;gt; that some 5272 users are experiencing the same problem and that (maybe)&lt;BR /&gt;&amp;gt; &amp;gt; Freescale has released an errata acknowledging the problem (don't take&lt;BR /&gt;&amp;gt; &amp;gt; my word on that).&lt;BR /&gt;&amp;gt;&lt;BR /&gt;&amp;gt; The 5282.&lt;BR /&gt;&amp;gt; I just noticed something in the manual about disabling the transmitter.&lt;BR /&gt;&amp;gt; I'm going to try that and see if anything different happens.&lt;BR /&gt;&amp;gt; I'll let you know &lt;SPAN aria-label="Happy" class="emoticon_happy emoticon-inline" style="height:16px;width:16px;"&gt;&lt;/SPAN&gt;&lt;BR /&gt;This does appear to be the missing piece of the puzzle. After disabling the&lt;BR /&gt;transmitter the UART finished it's final transmission, and the RTS line did&lt;BR /&gt;move.&lt;BR /&gt;Now I just need to work a clean enable/disable system into my code and I&lt;BR /&gt;should be in business. I'll keep you posted.&lt;/DIV&gt;&lt;DIV&gt;NZG.&lt;/DIV&gt;&lt;DIV&gt;&lt;BR /&gt;--------------------------------------------------------------------&lt;/DIV&gt;&lt;DIV&gt;Dec 13, 2005, 7:30 AM&lt;/DIV&gt;&lt;DIV&gt;Post #5 of 7 (51 views)&lt;BR /&gt;Copy Shortcut&lt;BR /&gt;&amp;nbsp;Re: [ColdFire] Coldfire Auto RTS toggle [In reply to]&amp;nbsp; Can't Post&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;--------------------------------------------------------------------------------&lt;BR /&gt;&amp;nbsp;&lt;BR /&gt;If you don't mind me asking, what was your exact procedure? For&lt;BR /&gt;example: Set nRTS, drop a char into the tx buffer, monitor TxEMPTY,&lt;BR /&gt;disable transmitter, etc.&lt;/DIV&gt;&lt;DIV&gt;For us, turning off the transmitter (with the TxRTS bit set) did not&lt;BR /&gt;negate the nRTS line.&lt;/DIV&gt;&lt;DIV&gt;Thanks,&lt;BR /&gt;Aaron Shepard&lt;BR /&gt;Harrison Audio&lt;BR /&gt;&lt;/DIV&gt;&lt;DIV&gt;&amp;gt;The 5282.&lt;BR /&gt;&amp;gt;I just noticed something in the manual about disabling the transmitter.&lt;BR /&gt;&amp;gt;I'm going to try that and see if anything different happens.&lt;BR /&gt;&amp;gt;I'll let you know &lt;SPAN aria-label="Happy" class="emoticon_happy emoticon-inline" style="height:16px;width:16px;"&gt;&lt;/SPAN&gt;&lt;BR /&gt;&amp;gt;&lt;BR /&gt;&amp;gt;NZG&lt;BR /&gt;&amp;gt;&lt;BR /&gt;&amp;gt;&lt;/DIV&gt;&lt;DIV&gt;--------------------------------------------------------------------&lt;/DIV&gt;&lt;DIV&gt;Dec 13, 2005, 8:33 AM&lt;/DIV&gt;&lt;DIV&gt;Post #6 of 7 (46 views)&lt;BR /&gt;Copy Shortcut&lt;BR /&gt;&amp;nbsp;Re: [ColdFire] Coldfire Auto RTS toggle [In reply to]&amp;nbsp; Can't Post&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;--------------------------------------------------------------------------------&lt;BR /&gt;&amp;nbsp;&lt;BR /&gt;Set nRTS, drop a char into the tx buffer, monitor TxEMPTY,&lt;BR /&gt;disable transmitter&lt;BR /&gt;That's pretty much it. Just have to make sure the TXRTS bit is set and the&lt;BR /&gt;RXRTS bit isn't.&lt;BR /&gt;A patch to the mcfserial driver for this, was posted the other day by Andrew&lt;BR /&gt;Kohlsmith to the uClinux mailing list.&lt;/DIV&gt;&lt;DIV&gt;--- mcfserial.c.before_trying_timer_mod 2005-11-20 12:13:51.000000000 -0500&lt;BR /&gt;+++ linux-2.4.x/drivers/char/mcfserial.c 2005-11-23 22:25:08.000000000 -0500&lt;BR /&gt;@@ -450,11 +448,15 @@&lt;BR /&gt;static _INLINE_ void transmit_chars(struct mcf_serial *info,&lt;BR /&gt;volatile unsigned char *uartp)&lt;BR /&gt;{&lt;BR /&gt;+/*&lt;BR /&gt;#if defined(CONFIG_LEDMAN)&lt;BR /&gt;ledman_cmd(LEDMAN_CMD_SET, info-&amp;gt;line ? LEDMAN_COM2_TX : LEDMAN_COM1_TX);&lt;BR /&gt;#endif&lt;BR /&gt;+*/&lt;/DIV&gt;&lt;DIV&gt;if (info-&amp;gt;x_char) {&lt;BR /&gt;+// ABK: assert RTS, transmitter should turn it off automatically&lt;BR /&gt;when !CRTSCTS&lt;BR /&gt;+ uartp[MCFUART_UOP1] = MCFUART_UOP_RTS;&lt;BR /&gt;/* Send special char - probably flow control */&lt;BR /&gt;uartp[MCFUART_UTB] = info-&amp;gt;x_char;&lt;BR /&gt;info-&amp;gt;x_char = 0;&lt;BR /&gt;@@ -464,10 +466,15 @@&lt;BR /&gt;if ((info-&amp;gt;xmit_cnt &amp;lt;= 0) || info-&amp;gt;tty-&amp;gt;stopped) {&lt;BR /&gt;info-&amp;gt;imr &amp;amp;= ~MCFUART_UIR_TXREADY;&lt;BR /&gt;uartp[MCFUART_UIMR] = info-&amp;gt;imr;&lt;BR /&gt;+// ABK: turn off transmitter&lt;BR /&gt;+ uartp[MCFUART_UCR] = MCFUART_UCR_TXDISABLE;&lt;BR /&gt;return;&lt;BR /&gt;}&lt;BR /&gt;-&lt;BR /&gt;+&lt;BR /&gt;while (uartp[MCFUART_USR] &amp;amp; MCFUART_USR_TXREADY) {&lt;BR /&gt;+// ABK: assert RTS, transmitter should turn it off automatically&lt;BR /&gt;when !CRTSCTS&lt;BR /&gt;+ uartp[MCFUART_UOP1] = MCFUART_UOP_RTS;&lt;BR /&gt;+&lt;BR /&gt;uartp[MCFUART_UTB] = info-&amp;gt;xmit_buf[info-&amp;gt;xmit_tail++];&lt;BR /&gt;info-&amp;gt;xmit_tail = info-&amp;gt;xmit_tail &amp;amp; (SERIAL_XMIT_SIZE-1);&lt;BR /&gt;info-&amp;gt;stats.tx++;&lt;BR /&gt;@@ -824,6 +831,9 @@&lt;BR /&gt;if (cflag &amp;amp; CRTSCTS) {&lt;BR /&gt;mr1 |= MCFUART_MR1_RXRTS;&lt;BR /&gt;mr2 |= MCFUART_MR2_TXCTS;&lt;BR /&gt;+ } else {&lt;BR /&gt;+// ABK added automatic RTS mode if CRTSCTS is not enabled.&lt;BR /&gt;+ mr2 |= MCFUART_MR2_TXRTS;&lt;BR /&gt;}&lt;/DIV&gt;&lt;DIV&gt;if (cflag &amp;amp; CLOCAL)&lt;BR /&gt;@@ -855,6 +865,7 @@&lt;BR /&gt;#endif&lt;BR /&gt;uartp[MCFUART_UCSR] = MCFUART_UCSR_RXCLKTIMER | MCFUART_UCSR_TXCLKTIMER;&lt;BR /&gt;uartp[MCFUART_UCR] = MCFUART_UCR_RXENABLE | MCFUART_UCR_TXENABLE;&lt;BR /&gt;+&lt;BR /&gt;mcfrs_setsignals(info, 1, -1);&lt;BR /&gt;restore_flags(flags);&lt;BR /&gt;return;&lt;BR /&gt;@@ -951,6 +962,9 @@&lt;BR /&gt;restore_flags(flags);&lt;BR /&gt;}&lt;/DIV&gt;&lt;DIV&gt;+// ABK enable the transmitter&lt;BR /&gt;+ uartp[MCFUART_UCR] = MCFUART_UCR_TXENABLE;&lt;BR /&gt;+&lt;BR /&gt;return total;&lt;BR /&gt;}&lt;/DIV&gt;&lt;DIV&gt;@@ -1815,7 +1829,8 @@&lt;BR /&gt;icrp = (volatile unsigned char *) (MCF_MBAR + MCFICM_INTC0 +&lt;BR /&gt;MCFINTC_ICR0 + MCFINT_UART0 + info-&amp;gt;line);&lt;BR /&gt;/* UART interrupt level and priority */&lt;BR /&gt;- *icrp = 0x30 + (info-&amp;gt;line ? 3 : 2);&lt;BR /&gt;+ *icrp = 0x30 + (info-&amp;gt;line ? 7 : 6);&lt;BR /&gt;+// *icrp = 0x30 + (info-&amp;gt;line ? 3 : 2);&lt;/DIV&gt;&lt;DIV&gt;imrp = (volatile unsigned long *) (MCF_MBAR + MCFICM_INTC0 +&lt;BR /&gt;MCFINTC_IMRL);&lt;BR /&gt;@@ -1841,8 +1856,14 @@&lt;BR /&gt;#if defined(CONFIG_M5280) || defined(CONFIG_M5282)&lt;BR /&gt;/* Enable the output lines for the serial port */&lt;BR /&gt;if (info-&amp;gt;line &amp;lt; 2) {&lt;BR /&gt;+ unsigned char x;&lt;BR /&gt;+&lt;BR /&gt;portp = (volatile unsigned char *) (MCF_MBAR + MCF5282_GPIO_PUAPAR);&lt;BR /&gt;*portp |= (0x03 &amp;lt;&amp;lt; (info-&amp;gt;line*2));&lt;BR /&gt;+&lt;BR /&gt;+// ABK: set up PTC0 as UCTS1, PTC1 as UCTS0, PTC2 as URTS1, and PTC3 as&lt;BR /&gt;URTS0.&lt;BR /&gt;+ portp = (volatile unsigned char *) (MCF_MBAR + MCF5282_GPIO_PTCPAR);&lt;BR /&gt;+ *portp = 0x66;&lt;BR /&gt;} else {&lt;BR /&gt;printk("SERIAL: don't know how to enable outputs "&lt;BR /&gt;"for UART %d?\n", info-&amp;gt;line);&lt;/DIV&gt;&lt;DIV&gt;&lt;BR /&gt;On Tuesday 13 December 2005 9:30 am, Aaron Shepard wrote:&lt;BR /&gt;&amp;gt; If you don't mind me asking, what was your exact procedure? For&lt;BR /&gt;&amp;gt; example: Set nRTS, drop a char into the tx buffer, monitor TxEMPTY,&lt;BR /&gt;&amp;gt; disable transmitter, etc.&lt;BR /&gt;&amp;gt;&lt;BR /&gt;&amp;gt; For us, turning off the transmitter (with the TxRTS bit set) did not&lt;BR /&gt;&amp;gt; negate the nRTS line.&lt;BR /&gt;&amp;gt;&lt;BR /&gt;&amp;gt; Thanks,&lt;BR /&gt;&amp;gt; Aaron Shepard&lt;BR /&gt;&amp;gt; Harrison Audio&lt;BR /&gt;&lt;BR /&gt;&amp;gt;&lt;BR /&gt;&amp;gt; &amp;gt;The 5282.&lt;BR /&gt;&amp;gt; &amp;gt;I just noticed something in the manual about disabling the transmitter.&lt;BR /&gt;&amp;gt; &amp;gt;I'm going to try that and see if anything different happens.&lt;BR /&gt;&amp;gt; &amp;gt;I'll let you know &lt;SPAN aria-label="Happy" class="emoticon_happy emoticon-inline" style="height:16px;width:16px;"&gt;&lt;/SPAN&gt;&lt;BR /&gt;&amp;gt; &amp;gt;&lt;BR /&gt;&amp;gt; &amp;gt;NZG&lt;BR /&gt;&amp;gt;&lt;BR /&gt;&amp;gt; --------------------------------------------------------------------&lt;/DIV&gt;&lt;DIV&gt;Dec 13, 2005, 9:38 AM&lt;/DIV&gt;&lt;DIV&gt;Post #7 of 7 (51 views)&lt;BR /&gt;Copy Shortcut&lt;BR /&gt;&amp;nbsp;Re: [ColdFire] Coldfire Auto RTS toggle [In reply to]&amp;nbsp; Can't Post&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;--------------------------------------------------------------------------------&lt;BR /&gt;&amp;nbsp;&lt;BR /&gt;FWIW:&lt;/DIV&gt;&lt;DIV&gt;I've just been experimenting with this very feature on a MCF5213. This chip requires the following:&lt;BR /&gt;- When setting up the serial port, enable the TxRTS bit in UMR2 and set the bit(s) in the pin assignment register for the GPIO port that makes the pin work as a RTS output.&lt;BR /&gt;- When sending a group of characters, enable the transmitter by writing 0x04 to the UCR register, and manually assert RTS by writing 0x01 to the UOP1 register (RTS is active low, so this actually takes the output low) before writing anything to the transmit register.&lt;BR /&gt;- After writing the last character to the transmit register, disable the transmitter by writing 0x08 to the UCR register.&lt;/DIV&gt;&lt;DIV&gt;All of the described actions are necessary. Omitting any one of them results in the RTS output not functioning as intended.&lt;/DIV&gt;&lt;DIV&gt;One should be aware that the serial ports in different ColdFire derivatives aren't all identical. Sometimes there are significant differences. Read the manual carefully and don't automatically assume things will work as you're used to from another ColdFire variant.&lt;/DIV&gt;&lt;DIV&gt;Regards,&lt;BR /&gt;Harald Hallen&lt;/DIV&gt;&lt;DIV&gt;*********** REPLY SEPARATOR ***********&lt;/DIV&gt;&lt;DIV&gt;On 2005-12-13 at 09:30 Aaron Shepard wrote:&lt;/DIV&gt;&lt;DIV&gt;&amp;gt;If you don't mind me asking, what was your exact procedure? For&lt;BR /&gt;&amp;gt;example: Set nRTS, drop a char into the tx buffer, monitor TxEMPTY,&lt;BR /&gt;&amp;gt;disable transmitter, etc.&lt;BR /&gt;&amp;gt;&lt;BR /&gt;&amp;gt;For us, turning off the transmitter (with the TxRTS bit set) did not&lt;BR /&gt;&amp;gt;negate the nRTS line.&lt;BR /&gt;&amp;gt;&lt;BR /&gt;&amp;gt;Thanks,&lt;BR /&gt;&amp;gt;Aaron Shepard&lt;BR /&gt;&amp;gt;Harrison Audio&lt;BR /&gt;&amp;gt;www.harrisonconsoles.com&lt;BR /&gt;&amp;gt;&lt;BR /&gt;&amp;gt;&amp;gt;The 5282.&lt;BR /&gt;&amp;gt;&amp;gt;I just noticed something in the manual about disabling the transmitter.&lt;BR /&gt;&amp;gt;&amp;gt;I'm going to try that and see if anything different happens.&lt;BR /&gt;&amp;gt;&amp;gt;I'll let you know &lt;SPAN aria-label="Happy" class="emoticon_happy emoticon-inline" style="height:16px;width:16px;"&gt;&lt;/SPAN&gt;&lt;BR /&gt;&amp;gt;&amp;gt;&lt;BR /&gt;&amp;gt;&amp;gt;NZG&lt;BR /&gt;&amp;gt;&amp;gt;&lt;BR /&gt;&amp;gt;&amp;gt;&lt;BR /&gt;&amp;gt;&lt;BR /&gt;&amp;gt;--------------------------------------------------------------------&lt;BR /&gt;&lt;/DIV&gt;&lt;P&gt;Message Edited by Dietrich on &lt;SPAN class="date_text"&gt;04-03-2006&lt;/SPAN&gt; &lt;SPAN class="time_text"&gt;10:48 AM&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;Message Edited by Dietrich on &lt;SPAN class="date_text"&gt;04-04-2006&lt;/SPAN&gt; &lt;SPAN class="time_text"&gt;09:08 PM&lt;/SPAN&gt;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Sat, 01 Apr 2006 07:27:06 GMT</pubDate>
    <dc:creator>Dietrich</dc:creator>
    <dc:date>2006-04-01T07:27:06Z</dc:date>
    <item>
      <title>Coldfire Auto RTS toggle</title>
      <link>https://community.nxp.com/t5/ColdFire-68K-Microcontrollers/Coldfire-Auto-RTS-toggle/m-p/130901#M785</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;DIV&gt; &lt;/DIV&gt;&lt;DIV&gt; &lt;/DIV&gt;&lt;DIV&gt;&lt;DIV&gt;&lt;SPAN style="color: #ff0000;"&gt;This message contains an entire topic ported&amp;nbsp;from the WildRice - Coldfire forum.&amp;nbsp; Freescale has received the approval from the WildRice administrator on seeding the Freescale forum with messages.&amp;nbsp; The original message and all replies are in this single message. We have seeded this new forum with selected information that we expect will be of value as you search for answers to your questions.&amp;nbsp; Freescale assumes no responsibility whatsoever with respect to Posted Material.&amp;nbsp; For additional information, please see the&lt;/SPAN&gt; &lt;A _jive_internal="true" href="https://community.nxp.com/external-link.jspa?url=http%3A%2F%2Fwww.freescale.com%2Ffiles%2Fabstract%2Fhelp_page%2FTERMSOFUSE.html" rel="nofollow" target="_blank"&gt;&lt;SPAN style=": ; color: #000000;"&gt;Terms of Use - Message Boards and Community Forums&lt;/SPAN&gt;&lt;/A&gt;&lt;SPAN style=";"&gt;.&amp;nbsp; Thank You and Enjoy the Forum!&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;&lt;HR /&gt;Dec 12, 2005, 10:49 AM&lt;/DIV&gt;&lt;/DIV&gt;&lt;DIV&gt;Post #1 of 7 (53 views)&lt;BR /&gt;Copy Shortcut&lt;BR /&gt;&amp;nbsp;[ColdFire] Coldfire Auto RTS toggle&amp;nbsp; Can't Post&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;--------------------------------------------------------------------------------&lt;BR /&gt;&amp;nbsp;&lt;BR /&gt;I'm having trouble getting the RTS auto toggle functionality of the Coldfire&lt;BR /&gt;to work correctly.&lt;/DIV&gt;&lt;DIV&gt;Using debug statements I have verified that I am setting&lt;BR /&gt;UMR1 = 0x13 (Rx RTS off)&lt;BR /&gt;UMR2 = 0x27 (Tx RTS on)&lt;/DIV&gt;&lt;DIV&gt;Before transmitting data, I enable RTS (setting the output pin low by writing&lt;BR /&gt;1 to UOP1)&lt;BR /&gt;After transmitting the processor generates an interrupt and the status&lt;BR /&gt;register reads&lt;BR /&gt;USR=c (Indicating the transmitter is empty and ready)&lt;/DIV&gt;&lt;DIV&gt;At this point, as I understand it, the RTS line should have automatically&lt;BR /&gt;toggled off, but it doesn't.&lt;/DIV&gt;&lt;DIV&gt;I can move it manually with the UOP registers, but this automatic toggle&lt;BR /&gt;feature is not working for me.&lt;/DIV&gt;&lt;DIV&gt;Has anyone else been down this road?&lt;BR /&gt;Any suggestions?&lt;/DIV&gt;&lt;DIV&gt;thank you,&lt;BR /&gt;NZG&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;--------------------------------------------------------------------&lt;/DIV&gt;&lt;DIV&gt;Dec 12, 2005, 11:13 AM&lt;/DIV&gt;&lt;DIV&gt;Post #2 of 7 (53 views)&lt;BR /&gt;Copy Shortcut&lt;BR /&gt;&amp;nbsp;Re: [ColdFire] Coldfire Auto RTS toggle [In reply to]&amp;nbsp; Can't Post&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;--------------------------------------------------------------------------------&lt;BR /&gt;&amp;nbsp;&lt;BR /&gt;Hmmm...&lt;/DIV&gt;&lt;DIV&gt;I experienced a similar problem with RTS on the 5282. I've also heard&lt;BR /&gt;that some 5272 users are experiencing the same problem and that (maybe)&lt;BR /&gt;Freescale has released an errata acknowledging the problem (don't take&lt;BR /&gt;my word on that).&lt;/DIV&gt;&lt;DIV&gt;What proc are you using?&lt;/DIV&gt;&lt;DIV&gt;&lt;BR /&gt;Aaron Shepard&lt;/DIV&gt;&lt;DIV&gt;&lt;BR /&gt;NZG wrote:&lt;/DIV&gt;&lt;DIV&gt;&amp;gt;I'm having trouble getting the RTS auto toggle functionality of the Coldfire&lt;BR /&gt;&amp;gt;to work correctly.&lt;BR /&gt;&amp;gt;&lt;BR /&gt;&amp;gt;Using debug statements I have verified that I am setting&lt;BR /&gt;&amp;gt;UMR1 = 0x13 (Rx RTS off)&lt;BR /&gt;&amp;gt;UMR2 = 0x27 (Tx RTS on)&lt;BR /&gt;&amp;gt;&lt;BR /&gt;&amp;gt;Before transmitting data, I enable RTS (setting the output pin low by writing&lt;BR /&gt;&amp;gt;1 to UOP1)&lt;BR /&gt;&amp;gt;After transmitting the processor generates an interrupt and the status&lt;BR /&gt;&amp;gt;register reads&lt;BR /&gt;&amp;gt;USR=c (Indicating the transmitter is empty and ready)&lt;BR /&gt;&amp;gt;&lt;BR /&gt;&amp;gt;At this point, as I understand it, the RTS line should have automatically&lt;BR /&gt;&amp;gt;toggled off, but it doesn't.&lt;BR /&gt;&amp;gt;&lt;BR /&gt;&amp;gt;I can move it manually with the UOP registers, but this automatic toggle&lt;BR /&gt;&amp;gt;feature is not working for me.&lt;BR /&gt;&amp;gt;&lt;BR /&gt;&amp;gt;Has anyone else been down this road?&lt;BR /&gt;&amp;gt;Any suggestions?&lt;BR /&gt;&amp;gt;&lt;BR /&gt;&amp;gt;thank you,&lt;BR /&gt;&amp;gt;NZG&lt;BR /&gt;&amp;gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;BR /&gt;--------------------------------------------------------------------&lt;/DIV&gt;&lt;DIV&gt;Dec 12, 2005, 11:24 AM&lt;/DIV&gt;&lt;DIV&gt;Post #3 of 7 (53 views)&lt;BR /&gt;Copy Shortcut&lt;BR /&gt;&amp;nbsp;Re: [ColdFire] Coldfire Auto RTS toggle [In reply to]&amp;nbsp; Can't Post&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;--------------------------------------------------------------------------------&lt;BR /&gt;&amp;nbsp;&lt;BR /&gt;On Monday 12 December 2005 1:13 pm, Aaron Shepard wrote:&lt;BR /&gt;&amp;gt; Hmmm...&lt;BR /&gt;&amp;gt;&lt;BR /&gt;&amp;gt; I experienced a similar problem with RTS on the 5282. I've also heard&lt;BR /&gt;&amp;gt; that some 5272 users are experiencing the same problem and that (maybe)&lt;BR /&gt;&amp;gt; Freescale has released an errata acknowledging the problem (don't take&lt;BR /&gt;&amp;gt; my word on that).&lt;BR /&gt;&amp;gt;&lt;BR /&gt;&amp;gt; What proc are you using?&lt;BR /&gt;The 5282.&lt;BR /&gt;I just noticed something in the manual about disabling the transmitter.&lt;BR /&gt;I'm going to try that and see if anything different happens.&lt;BR /&gt;I'll let you know &lt;SPAN aria-label="Happy" class="emoticon_happy emoticon-inline" style="height:16px;width:16px;"&gt;&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;NZG&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;&amp;gt;&lt;BR /&gt;&amp;gt; Aaron Shepard&lt;BR /&gt;&amp;gt;&lt;BR /&gt;&amp;gt; NZG wrote:&lt;BR /&gt;&amp;gt; &amp;gt;I'm having trouble getting the RTS auto toggle functionality of the&lt;BR /&gt;&amp;gt; &amp;gt; Coldfire to work correctly.&lt;BR /&gt;&amp;gt; &amp;gt;&lt;BR /&gt;&amp;gt; &amp;gt;Using debug statements I have verified that I am setting&lt;BR /&gt;&amp;gt; &amp;gt;UMR1 = 0x13 (Rx RTS off)&lt;BR /&gt;&amp;gt; &amp;gt;UMR2 = 0x27 (Tx RTS on)&lt;BR /&gt;&amp;gt; &amp;gt;&lt;BR /&gt;&amp;gt; &amp;gt;Before transmitting data, I enable RTS (setting the output pin low by&lt;BR /&gt;&amp;gt; &amp;gt; writing 1 to UOP1)&lt;BR /&gt;&amp;gt; &amp;gt;After transmitting the processor generates an interrupt and the status&lt;BR /&gt;&amp;gt; &amp;gt;register reads&lt;BR /&gt;&amp;gt; &amp;gt;USR=c (Indicating the transmitter is empty and ready)&lt;BR /&gt;&amp;gt; &amp;gt;&lt;BR /&gt;&amp;gt; &amp;gt;At this point, as I understand it, the RTS line should have automatically&lt;BR /&gt;&amp;gt; &amp;gt;toggled off, but it doesn't.&lt;BR /&gt;&amp;gt; &amp;gt;&lt;BR /&gt;&amp;gt; &amp;gt;I can move it manually with the UOP registers, but this automatic toggle&lt;BR /&gt;&amp;gt; &amp;gt;feature is not working for me.&lt;BR /&gt;&amp;gt; &amp;gt;&lt;BR /&gt;&amp;gt; &amp;gt;Has anyone else been down this road?&lt;BR /&gt;&amp;gt; &amp;gt;Any suggestions?&lt;BR /&gt;&amp;gt; &amp;gt;&lt;BR /&gt;&amp;gt; &amp;gt;thank you,&lt;BR /&gt;&amp;gt; &amp;gt;NZG&lt;BR /&gt;&amp;gt; &amp;gt;&lt;BR /&gt;&amp;gt; &amp;gt;&lt;BR /&gt;&amp;gt; &amp;gt;&lt;BR /&gt;&amp;gt; &amp;gt;&lt;BR /&gt;&amp;gt; &amp;gt;&lt;BR /&gt;&amp;gt; &amp;gt;--------------------------------------------------------------------&lt;/DIV&gt;&lt;DIV&gt;&lt;BR /&gt;--------------------------------------------------------------------&lt;/DIV&gt;&lt;DIV&gt;Dec 12, 2005, 11:53 AM&lt;/DIV&gt;&lt;DIV&gt;Post #4 of 7 (53 views)&lt;BR /&gt;Copy Shortcut&lt;BR /&gt;&amp;nbsp;Re: [ColdFire] Coldfire Auto RTS toggle [In reply to]&amp;nbsp; Can't Post&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;--------------------------------------------------------------------------------&lt;BR /&gt;&amp;nbsp;&lt;BR /&gt;&amp;gt; &amp;gt; &amp;gt;I'm having trouble getting the RTS auto toggle functionality of the&lt;BR /&gt;&amp;gt; &amp;gt; &amp;gt; Coldfire to work correctly.&lt;BR /&gt;&amp;gt; &amp;gt; I experienced a similar problem with RTS on the 5282. I've also heard&lt;BR /&gt;&amp;gt; &amp;gt; that some 5272 users are experiencing the same problem and that (maybe)&lt;BR /&gt;&amp;gt; &amp;gt; Freescale has released an errata acknowledging the problem (don't take&lt;BR /&gt;&amp;gt; &amp;gt; my word on that).&lt;BR /&gt;&amp;gt;&lt;BR /&gt;&amp;gt; The 5282.&lt;BR /&gt;&amp;gt; I just noticed something in the manual about disabling the transmitter.&lt;BR /&gt;&amp;gt; I'm going to try that and see if anything different happens.&lt;BR /&gt;&amp;gt; I'll let you know &lt;SPAN aria-label="Happy" class="emoticon_happy emoticon-inline" style="height:16px;width:16px;"&gt;&lt;/SPAN&gt;&lt;BR /&gt;This does appear to be the missing piece of the puzzle. After disabling the&lt;BR /&gt;transmitter the UART finished it's final transmission, and the RTS line did&lt;BR /&gt;move.&lt;BR /&gt;Now I just need to work a clean enable/disable system into my code and I&lt;BR /&gt;should be in business. I'll keep you posted.&lt;/DIV&gt;&lt;DIV&gt;NZG.&lt;/DIV&gt;&lt;DIV&gt;&lt;BR /&gt;--------------------------------------------------------------------&lt;/DIV&gt;&lt;DIV&gt;Dec 13, 2005, 7:30 AM&lt;/DIV&gt;&lt;DIV&gt;Post #5 of 7 (51 views)&lt;BR /&gt;Copy Shortcut&lt;BR /&gt;&amp;nbsp;Re: [ColdFire] Coldfire Auto RTS toggle [In reply to]&amp;nbsp; Can't Post&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;--------------------------------------------------------------------------------&lt;BR /&gt;&amp;nbsp;&lt;BR /&gt;If you don't mind me asking, what was your exact procedure? For&lt;BR /&gt;example: Set nRTS, drop a char into the tx buffer, monitor TxEMPTY,&lt;BR /&gt;disable transmitter, etc.&lt;/DIV&gt;&lt;DIV&gt;For us, turning off the transmitter (with the TxRTS bit set) did not&lt;BR /&gt;negate the nRTS line.&lt;/DIV&gt;&lt;DIV&gt;Thanks,&lt;BR /&gt;Aaron Shepard&lt;BR /&gt;Harrison Audio&lt;BR /&gt;&lt;/DIV&gt;&lt;DIV&gt;&amp;gt;The 5282.&lt;BR /&gt;&amp;gt;I just noticed something in the manual about disabling the transmitter.&lt;BR /&gt;&amp;gt;I'm going to try that and see if anything different happens.&lt;BR /&gt;&amp;gt;I'll let you know &lt;SPAN aria-label="Happy" class="emoticon_happy emoticon-inline" style="height:16px;width:16px;"&gt;&lt;/SPAN&gt;&lt;BR /&gt;&amp;gt;&lt;BR /&gt;&amp;gt;NZG&lt;BR /&gt;&amp;gt;&lt;BR /&gt;&amp;gt;&lt;/DIV&gt;&lt;DIV&gt;--------------------------------------------------------------------&lt;/DIV&gt;&lt;DIV&gt;Dec 13, 2005, 8:33 AM&lt;/DIV&gt;&lt;DIV&gt;Post #6 of 7 (46 views)&lt;BR /&gt;Copy Shortcut&lt;BR /&gt;&amp;nbsp;Re: [ColdFire] Coldfire Auto RTS toggle [In reply to]&amp;nbsp; Can't Post&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;--------------------------------------------------------------------------------&lt;BR /&gt;&amp;nbsp;&lt;BR /&gt;Set nRTS, drop a char into the tx buffer, monitor TxEMPTY,&lt;BR /&gt;disable transmitter&lt;BR /&gt;That's pretty much it. Just have to make sure the TXRTS bit is set and the&lt;BR /&gt;RXRTS bit isn't.&lt;BR /&gt;A patch to the mcfserial driver for this, was posted the other day by Andrew&lt;BR /&gt;Kohlsmith to the uClinux mailing list.&lt;/DIV&gt;&lt;DIV&gt;--- mcfserial.c.before_trying_timer_mod 2005-11-20 12:13:51.000000000 -0500&lt;BR /&gt;+++ linux-2.4.x/drivers/char/mcfserial.c 2005-11-23 22:25:08.000000000 -0500&lt;BR /&gt;@@ -450,11 +448,15 @@&lt;BR /&gt;static _INLINE_ void transmit_chars(struct mcf_serial *info,&lt;BR /&gt;volatile unsigned char *uartp)&lt;BR /&gt;{&lt;BR /&gt;+/*&lt;BR /&gt;#if defined(CONFIG_LEDMAN)&lt;BR /&gt;ledman_cmd(LEDMAN_CMD_SET, info-&amp;gt;line ? LEDMAN_COM2_TX : LEDMAN_COM1_TX);&lt;BR /&gt;#endif&lt;BR /&gt;+*/&lt;/DIV&gt;&lt;DIV&gt;if (info-&amp;gt;x_char) {&lt;BR /&gt;+// ABK: assert RTS, transmitter should turn it off automatically&lt;BR /&gt;when !CRTSCTS&lt;BR /&gt;+ uartp[MCFUART_UOP1] = MCFUART_UOP_RTS;&lt;BR /&gt;/* Send special char - probably flow control */&lt;BR /&gt;uartp[MCFUART_UTB] = info-&amp;gt;x_char;&lt;BR /&gt;info-&amp;gt;x_char = 0;&lt;BR /&gt;@@ -464,10 +466,15 @@&lt;BR /&gt;if ((info-&amp;gt;xmit_cnt &amp;lt;= 0) || info-&amp;gt;tty-&amp;gt;stopped) {&lt;BR /&gt;info-&amp;gt;imr &amp;amp;= ~MCFUART_UIR_TXREADY;&lt;BR /&gt;uartp[MCFUART_UIMR] = info-&amp;gt;imr;&lt;BR /&gt;+// ABK: turn off transmitter&lt;BR /&gt;+ uartp[MCFUART_UCR] = MCFUART_UCR_TXDISABLE;&lt;BR /&gt;return;&lt;BR /&gt;}&lt;BR /&gt;-&lt;BR /&gt;+&lt;BR /&gt;while (uartp[MCFUART_USR] &amp;amp; MCFUART_USR_TXREADY) {&lt;BR /&gt;+// ABK: assert RTS, transmitter should turn it off automatically&lt;BR /&gt;when !CRTSCTS&lt;BR /&gt;+ uartp[MCFUART_UOP1] = MCFUART_UOP_RTS;&lt;BR /&gt;+&lt;BR /&gt;uartp[MCFUART_UTB] = info-&amp;gt;xmit_buf[info-&amp;gt;xmit_tail++];&lt;BR /&gt;info-&amp;gt;xmit_tail = info-&amp;gt;xmit_tail &amp;amp; (SERIAL_XMIT_SIZE-1);&lt;BR /&gt;info-&amp;gt;stats.tx++;&lt;BR /&gt;@@ -824,6 +831,9 @@&lt;BR /&gt;if (cflag &amp;amp; CRTSCTS) {&lt;BR /&gt;mr1 |= MCFUART_MR1_RXRTS;&lt;BR /&gt;mr2 |= MCFUART_MR2_TXCTS;&lt;BR /&gt;+ } else {&lt;BR /&gt;+// ABK added automatic RTS mode if CRTSCTS is not enabled.&lt;BR /&gt;+ mr2 |= MCFUART_MR2_TXRTS;&lt;BR /&gt;}&lt;/DIV&gt;&lt;DIV&gt;if (cflag &amp;amp; CLOCAL)&lt;BR /&gt;@@ -855,6 +865,7 @@&lt;BR /&gt;#endif&lt;BR /&gt;uartp[MCFUART_UCSR] = MCFUART_UCSR_RXCLKTIMER | MCFUART_UCSR_TXCLKTIMER;&lt;BR /&gt;uartp[MCFUART_UCR] = MCFUART_UCR_RXENABLE | MCFUART_UCR_TXENABLE;&lt;BR /&gt;+&lt;BR /&gt;mcfrs_setsignals(info, 1, -1);&lt;BR /&gt;restore_flags(flags);&lt;BR /&gt;return;&lt;BR /&gt;@@ -951,6 +962,9 @@&lt;BR /&gt;restore_flags(flags);&lt;BR /&gt;}&lt;/DIV&gt;&lt;DIV&gt;+// ABK enable the transmitter&lt;BR /&gt;+ uartp[MCFUART_UCR] = MCFUART_UCR_TXENABLE;&lt;BR /&gt;+&lt;BR /&gt;return total;&lt;BR /&gt;}&lt;/DIV&gt;&lt;DIV&gt;@@ -1815,7 +1829,8 @@&lt;BR /&gt;icrp = (volatile unsigned char *) (MCF_MBAR + MCFICM_INTC0 +&lt;BR /&gt;MCFINTC_ICR0 + MCFINT_UART0 + info-&amp;gt;line);&lt;BR /&gt;/* UART interrupt level and priority */&lt;BR /&gt;- *icrp = 0x30 + (info-&amp;gt;line ? 3 : 2);&lt;BR /&gt;+ *icrp = 0x30 + (info-&amp;gt;line ? 7 : 6);&lt;BR /&gt;+// *icrp = 0x30 + (info-&amp;gt;line ? 3 : 2);&lt;/DIV&gt;&lt;DIV&gt;imrp = (volatile unsigned long *) (MCF_MBAR + MCFICM_INTC0 +&lt;BR /&gt;MCFINTC_IMRL);&lt;BR /&gt;@@ -1841,8 +1856,14 @@&lt;BR /&gt;#if defined(CONFIG_M5280) || defined(CONFIG_M5282)&lt;BR /&gt;/* Enable the output lines for the serial port */&lt;BR /&gt;if (info-&amp;gt;line &amp;lt; 2) {&lt;BR /&gt;+ unsigned char x;&lt;BR /&gt;+&lt;BR /&gt;portp = (volatile unsigned char *) (MCF_MBAR + MCF5282_GPIO_PUAPAR);&lt;BR /&gt;*portp |= (0x03 &amp;lt;&amp;lt; (info-&amp;gt;line*2));&lt;BR /&gt;+&lt;BR /&gt;+// ABK: set up PTC0 as UCTS1, PTC1 as UCTS0, PTC2 as URTS1, and PTC3 as&lt;BR /&gt;URTS0.&lt;BR /&gt;+ portp = (volatile unsigned char *) (MCF_MBAR + MCF5282_GPIO_PTCPAR);&lt;BR /&gt;+ *portp = 0x66;&lt;BR /&gt;} else {&lt;BR /&gt;printk("SERIAL: don't know how to enable outputs "&lt;BR /&gt;"for UART %d?\n", info-&amp;gt;line);&lt;/DIV&gt;&lt;DIV&gt;&lt;BR /&gt;On Tuesday 13 December 2005 9:30 am, Aaron Shepard wrote:&lt;BR /&gt;&amp;gt; If you don't mind me asking, what was your exact procedure? For&lt;BR /&gt;&amp;gt; example: Set nRTS, drop a char into the tx buffer, monitor TxEMPTY,&lt;BR /&gt;&amp;gt; disable transmitter, etc.&lt;BR /&gt;&amp;gt;&lt;BR /&gt;&amp;gt; For us, turning off the transmitter (with the TxRTS bit set) did not&lt;BR /&gt;&amp;gt; negate the nRTS line.&lt;BR /&gt;&amp;gt;&lt;BR /&gt;&amp;gt; Thanks,&lt;BR /&gt;&amp;gt; Aaron Shepard&lt;BR /&gt;&amp;gt; Harrison Audio&lt;BR /&gt;&lt;BR /&gt;&amp;gt;&lt;BR /&gt;&amp;gt; &amp;gt;The 5282.&lt;BR /&gt;&amp;gt; &amp;gt;I just noticed something in the manual about disabling the transmitter.&lt;BR /&gt;&amp;gt; &amp;gt;I'm going to try that and see if anything different happens.&lt;BR /&gt;&amp;gt; &amp;gt;I'll let you know &lt;SPAN aria-label="Happy" class="emoticon_happy emoticon-inline" style="height:16px;width:16px;"&gt;&lt;/SPAN&gt;&lt;BR /&gt;&amp;gt; &amp;gt;&lt;BR /&gt;&amp;gt; &amp;gt;NZG&lt;BR /&gt;&amp;gt;&lt;BR /&gt;&amp;gt; --------------------------------------------------------------------&lt;/DIV&gt;&lt;DIV&gt;Dec 13, 2005, 9:38 AM&lt;/DIV&gt;&lt;DIV&gt;Post #7 of 7 (51 views)&lt;BR /&gt;Copy Shortcut&lt;BR /&gt;&amp;nbsp;Re: [ColdFire] Coldfire Auto RTS toggle [In reply to]&amp;nbsp; Can't Post&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;--------------------------------------------------------------------------------&lt;BR /&gt;&amp;nbsp;&lt;BR /&gt;FWIW:&lt;/DIV&gt;&lt;DIV&gt;I've just been experimenting with this very feature on a MCF5213. This chip requires the following:&lt;BR /&gt;- When setting up the serial port, enable the TxRTS bit in UMR2 and set the bit(s) in the pin assignment register for the GPIO port that makes the pin work as a RTS output.&lt;BR /&gt;- When sending a group of characters, enable the transmitter by writing 0x04 to the UCR register, and manually assert RTS by writing 0x01 to the UOP1 register (RTS is active low, so this actually takes the output low) before writing anything to the transmit register.&lt;BR /&gt;- After writing the last character to the transmit register, disable the transmitter by writing 0x08 to the UCR register.&lt;/DIV&gt;&lt;DIV&gt;All of the described actions are necessary. Omitting any one of them results in the RTS output not functioning as intended.&lt;/DIV&gt;&lt;DIV&gt;One should be aware that the serial ports in different ColdFire derivatives aren't all identical. Sometimes there are significant differences. Read the manual carefully and don't automatically assume things will work as you're used to from another ColdFire variant.&lt;/DIV&gt;&lt;DIV&gt;Regards,&lt;BR /&gt;Harald Hallen&lt;/DIV&gt;&lt;DIV&gt;*********** REPLY SEPARATOR ***********&lt;/DIV&gt;&lt;DIV&gt;On 2005-12-13 at 09:30 Aaron Shepard wrote:&lt;/DIV&gt;&lt;DIV&gt;&amp;gt;If you don't mind me asking, what was your exact procedure? For&lt;BR /&gt;&amp;gt;example: Set nRTS, drop a char into the tx buffer, monitor TxEMPTY,&lt;BR /&gt;&amp;gt;disable transmitter, etc.&lt;BR /&gt;&amp;gt;&lt;BR /&gt;&amp;gt;For us, turning off the transmitter (with the TxRTS bit set) did not&lt;BR /&gt;&amp;gt;negate the nRTS line.&lt;BR /&gt;&amp;gt;&lt;BR /&gt;&amp;gt;Thanks,&lt;BR /&gt;&amp;gt;Aaron Shepard&lt;BR /&gt;&amp;gt;Harrison Audio&lt;BR /&gt;&amp;gt;www.harrisonconsoles.com&lt;BR /&gt;&amp;gt;&lt;BR /&gt;&amp;gt;&amp;gt;The 5282.&lt;BR /&gt;&amp;gt;&amp;gt;I just noticed something in the manual about disabling the transmitter.&lt;BR /&gt;&amp;gt;&amp;gt;I'm going to try that and see if anything different happens.&lt;BR /&gt;&amp;gt;&amp;gt;I'll let you know &lt;SPAN aria-label="Happy" class="emoticon_happy emoticon-inline" style="height:16px;width:16px;"&gt;&lt;/SPAN&gt;&lt;BR /&gt;&amp;gt;&amp;gt;&lt;BR /&gt;&amp;gt;&amp;gt;NZG&lt;BR /&gt;&amp;gt;&amp;gt;&lt;BR /&gt;&amp;gt;&amp;gt;&lt;BR /&gt;&amp;gt;&lt;BR /&gt;&amp;gt;--------------------------------------------------------------------&lt;BR /&gt;&lt;/DIV&gt;&lt;P&gt;Message Edited by Dietrich on &lt;SPAN class="date_text"&gt;04-03-2006&lt;/SPAN&gt; &lt;SPAN class="time_text"&gt;10:48 AM&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;Message Edited by Dietrich on &lt;SPAN class="date_text"&gt;04-04-2006&lt;/SPAN&gt; &lt;SPAN class="time_text"&gt;09:08 PM&lt;/SPAN&gt;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Sat, 01 Apr 2006 07:27:06 GMT</pubDate>
      <guid>https://community.nxp.com/t5/ColdFire-68K-Microcontrollers/Coldfire-Auto-RTS-toggle/m-p/130901#M785</guid>
      <dc:creator>Dietrich</dc:creator>
      <dc:date>2006-04-01T07:27:06Z</dc:date>
    </item>
  </channel>
</rss>

