<?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>MQX Software SolutionsのトピックRe: Multidrop mode in MQX on 52259</title>
    <link>https://community.nxp.com/t5/MQX-Software-Solutions/Multidrop-mode-in-MQX-on-52259/m-p/164298#M1485</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;PetrM,&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;I'm a H/W type, can you explain it more detail? Trying to run a Multidrop RS-485 on the MCF52259 using MQX and could use some direction....&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Big Al&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Thu, 09 Dec 2010 07:41:55 GMT</pubDate>
    <dc:creator>big_al</dc:creator>
    <dc:date>2010-12-09T07:41:55Z</dc:date>
    <item>
      <title>Multidrop mode in MQX on 52259</title>
      <link>https://community.nxp.com/t5/MQX-Software-Solutions/Multidrop-mode-in-MQX-on-52259/m-p/164296#M1483</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;I'm trying to implement 9-bit multidrop mode UART under MQX.&amp;nbsp; I'm wondering what the best way to do this would be.&lt;BR /&gt;&lt;BR /&gt;Can/should I modify the MCF_UARTx_UMR1, MCF_UARTx_UCR registers directly as needed ?&amp;nbsp; Or should I be trying to adjust the UART init_struct (MCF52XX_UART_SERIAL_INIT_STRUCT)?&amp;nbsp; Or is there some other better way?&amp;nbsp;&amp;nbsp; Is MQX able to handle the multidrop bit for me?&lt;BR /&gt;&lt;BR /&gt;I'm able to achieve the result I'm looking for by directly accessing the MCF_... registers, and the required code is minimal so I'm satisfied with this solution, but I guess I'm just concerned that doing it like this will confilct in some way with MQX.&lt;BR /&gt;&lt;BR /&gt;Thanks for your input,&lt;BR /&gt;Angelo&lt;BR /&gt;&lt;BR /&gt;PS. Sorry I'm reposting this - I posted in the Coldfire forum but I realized it should probably be in the MQX forum.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Sun, 21 Nov 2010 23:52:29 GMT</pubDate>
      <guid>https://community.nxp.com/t5/MQX-Software-Solutions/Multidrop-mode-in-MQX-on-52259/m-p/164296#M1483</guid>
      <dc:creator>ARQuattr</dc:creator>
      <dc:date>2010-11-21T23:52:29Z</dc:date>
    </item>
    <item>
      <title>Re: Multidrop mode in MQX on 52259</title>
      <link>https://community.nxp.com/t5/MQX-Software-Solutions/Multidrop-mode-in-MQX-on-52259/m-p/164297#M1484</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Sorry, this feature is not currently implemented.&lt;/P&gt;&lt;P&gt;The better way than direct register access is to modify IO_IOCTL_SERIAL_SET_PARITY command in the driver code and use it with new "MULTIDROP" parameter.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;PetrM&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 03 Dec 2010 22:50:33 GMT</pubDate>
      <guid>https://community.nxp.com/t5/MQX-Software-Solutions/Multidrop-mode-in-MQX-on-52259/m-p/164297#M1484</guid>
      <dc:creator>PetrM</dc:creator>
      <dc:date>2010-12-03T22:50:33Z</dc:date>
    </item>
    <item>
      <title>Re: Multidrop mode in MQX on 52259</title>
      <link>https://community.nxp.com/t5/MQX-Software-Solutions/Multidrop-mode-in-MQX-on-52259/m-p/164298#M1485</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;PetrM,&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;I'm a H/W type, can you explain it more detail? Trying to run a Multidrop RS-485 on the MCF52259 using MQX and could use some direction....&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Big Al&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 09 Dec 2010 07:41:55 GMT</pubDate>
      <guid>https://community.nxp.com/t5/MQX-Software-Solutions/Multidrop-mode-in-MQX-on-52259/m-p/164298#M1485</guid>
      <dc:creator>big_al</dc:creator>
      <dc:date>2010-12-09T07:41:55Z</dc:date>
    </item>
    <item>
      <title>Re: Multidrop mode in MQX on 52259</title>
      <link>https://community.nxp.com/t5/MQX-Software-Solutions/Multidrop-mode-in-MQX-on-52259/m-p/164299#M1486</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;You should add something like this&amp;nbsp;in serial driver (serl_pol_mcf52xx.c):&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;_mcf52xx_uart_serial_polled_ioctl():&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; case IO_IOCTL_SERIAL_SET_PARITY:&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; tmp = io_info_ptr-&amp;gt;INIT.UMR1_VALUE &amp;amp; ~MCF52XX_UART_UMR1_MD_ADDRESS;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; switch (*param_ptr) {&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; case IO_SERIAL_PARITY_NONE:&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; tmp |= MCF52XX_UART_UMR1_NO_PARITY;&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; break;&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; case IO_SERIAL_PARITY_ODD:&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; tmp |= MCF52XX_UART_UMR1_ODD_PARITY;&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; break;&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; case IO_SERIAL_PARITY_EVEN:&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; tmp |= MCF52XX_UART_UMR1_EVEN_PARITY;&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; break;&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; case IO_SERIAL_PARITY_MARK:&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; tmp |= MCF52XX_UART_UMR1_HI_PARITY;&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; break;&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; case IO_SERIAL_PARITY_SPACE:&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; tmp |= MCF52XX_UART_UMR1_LOW_PARITY;&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; break;&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; case IO_SERIAL_PARITY_MULTI_DATA:&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; tmp |= MCF52XX_UART_UMR1_MULTI_DROP;&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; break;&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; case IO_SERIAL_PARITY_MULTI_ADDRESS:&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; tmp |= MCF52XX_UART_UMR1_MD_ADDRESS;&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; break;&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; default:&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; return MQX_INVALID_PARAMETER;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; io_info_ptr-&amp;gt;INIT.UMR1_VALUE = tmp;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; uart_ptr-&amp;gt;WRITE.UCR = MCF52XX_UART_UCR_RESET_POINTER;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; uart_ptr-&amp;gt;WRITE.UMR = io_info_ptr-&amp;gt;INIT.UMR1_VALUE;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; uart_ptr-&amp;gt;WRITE.UMR = io_info_ptr-&amp;gt;INIT.UMR2_VALUE;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; break;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; case IO_IOCTL_SERIAL_SET_HW_SIGNAL:&amp;nbsp; /* Assert */&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; if (*param_ptr &amp;amp; IO_SERIAL_RTS) {&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; if (io_info_ptr-&amp;gt;INIT.UMR1_VALUE &amp;amp; MCF52XX_UART_UMR1_RXRTS) {&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; return MQX_IO_OPERATION_NOT_AVAILABLE;&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; }&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; io_info_ptr-&amp;gt;CONTROL_BITS |= MCF52XX_UART_UOP_RTS;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; else {&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; return MQX_INVALID_PARAMETER;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; uart_ptr-&amp;gt;WRITE.UOP1 = MCF52XX_UART_UOP_RTS;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; break;&lt;/P&gt;&lt;P&gt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; case IO_IOCTL_SERIAL_CLEAR_HW_SIGNAL:&amp;nbsp; /* Negate */&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; if (*param_ptr &amp;amp; IO_SERIAL_RTS) {&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; if (io_info_ptr-&amp;gt;INIT.UMR1_VALUE &amp;amp; MCF52XX_UART_UMR1_RXRTS) {&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; return MQX_IO_OPERATION_NOT_AVAILABLE;&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; }&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; io_info_ptr-&amp;gt;CONTROL_BITS &amp;amp;= ~MCF52XX_UART_UOP_RTS;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; else {&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; return MQX_INVALID_PARAMETER;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; uart_ptr-&amp;gt;WRITE.UOP0 = MCF52XX_UART_UOP_RTS;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; break;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;... and define the new/missing macros in serial.h.&lt;/P&gt;&lt;P&gt;You can use IO_IOCTL_SERIAL_SET_PARITY to set proper multidrop mode,&amp;nbsp;IO_IOCTL_SERIAL_SET_HW_SIGNAL and IO_IOCTL_SERIAL_CLEAR_HW_SIGNAL with parameter IO_SERIAL_RTS to control the 485 direction via RTS line. Enable&amp;nbsp;the signal&amp;nbsp;in BSP gpio_init.c:&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;_bsp_serial_io_init():&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;reg_ptr-&amp;gt;GPIO.PUAPAR |=&amp;nbsp;MCF5225_GPIO_PUAPAR_TXD0 | MCF5225_GPIO_PUAPAR_RXD0 | MCF5225_GPIO_PUAPAR_RTS0;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;PetrM&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 09 Dec 2010 23:15:30 GMT</pubDate>
      <guid>https://community.nxp.com/t5/MQX-Software-Solutions/Multidrop-mode-in-MQX-on-52259/m-p/164299#M1486</guid>
      <dc:creator>PetrM</dc:creator>
      <dc:date>2010-12-09T23:15:30Z</dc:date>
    </item>
    <item>
      <title>Re: Multidrop mode in MQX on 52259</title>
      <link>https://community.nxp.com/t5/MQX-Software-Solutions/Multidrop-mode-in-MQX-on-52259/m-p/164300#M1487</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Thanks PetrM, I'll give it a shot...&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 10 Dec 2010 09:26:50 GMT</pubDate>
      <guid>https://community.nxp.com/t5/MQX-Software-Solutions/Multidrop-mode-in-MQX-on-52259/m-p/164300#M1487</guid>
      <dc:creator>big_al</dc:creator>
      <dc:date>2010-12-10T09:26:50Z</dc:date>
    </item>
    <item>
      <title>Re: Multidrop mode in MQX on 52259</title>
      <link>https://community.nxp.com/t5/MQX-Software-Solutions/Multidrop-mode-in-MQX-on-52259/m-p/164301#M1488</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;PetrM,&lt;/P&gt;&lt;P&gt;&amp;nbsp; Sorry for the late response - I didn't realize there was any activity on the thread until now (I must have negelected to enable the notifications for the message).&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp; Also, thank you for your replies.&amp;nbsp; I haven't tried implementing the code you provided yet, but I reviewed it carefully and it seems to be doing what I have (below).&amp;nbsp; The code produces address bytes most of the time, however often they come out as data bytes (parity type bit 0).&amp;nbsp; I have tried with both polled and interrupt drivers, with similar results.&amp;nbsp; Do you see any problems with what I've done?&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;PRE&gt;//Sends first byte of message as address, and remaining bytes as data.
//Automatically calculates checksum and appends it to the packet (as data).
void MDB_send_msg (FILE_PTR fh_ptr, char *msg, uint_8 len) {
 uint_8 i;
 char chk_sum = 0;
 uint_8 init_UMR;

 printf ("MDB_send_msg, len: %d, msg: ", len);

 for (i=0; i&amp;lt;len; i++) {
  printf ("0x%02X ", msg[i]);
  chk_sum += msg[i];  //accumulate checksum
 }
 printf ("\n");

 //First byte is address parity type
 MCF_UART1_UCR = MCF_UART_UCR_RESET_MR; //reset the internal pointer to UMR1
 init_UMR = MCF_UART1_UMR &amp;amp; ~MCF_UART_UMR_PM_MULTI_ADDR; //get the current value and clear the Parity Type (PT) and Parity Mode (PM) bits
 MCF_UART1_UCR = MCF_UART_UCR_RESET_MR; //reset the internal pointer to UMR1
 MCF_UART1_UMR = init_UMR | MCF_UART_UMR_PM_MULTI_ADDR; //set mode to multidrop for address character
 write(fh_ptr,msg,1);   //send address/command

 //Remaining bytes are all data parity type
 MCF_UART1_UCR = MCF_UART_UCR_RESET_MR; //reset the internal pointer to UMR1
 init_UMR = MCF_UART1_UMR &amp;amp; ~MCF_UART_UMR_PM_MULTI_ADDR; //get the current value and clear the Parity Type (PT) and Parity Mode (PM) bits
 MCF_UART1_UCR = MCF_UART_UCR_RESET_MR; //reset the internal pointer to UMR1
 MCF_UART1_UMR = init_UMR | MCF_UART_UMR_PM_MULTI_DATA; //set mode to multidrop for data character

 if (len &amp;gt; 1) {
  msg++;           //increment msg pointer
  write(fh_ptr,msg,len-1); //send data bytes
 }

 write(fh_ptr,&amp;amp;chk_sum,1);  //send checksum
}
&lt;/PRE&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp; I also wanted to ask about the code you sent, regarding this line:&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;PRE&gt;tmp = io_info_ptr-&amp;gt;INIT.UMR1_VALUE &amp;amp; ~MCF52XX_UART_UMR1_MD_ADDRESS;&lt;/PRE&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp; Is it guaranteed that the UMR pointer will already be reset at this point?&amp;nbsp; I wasn't sure so I have it resetting every time it changes the parity type.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp; My second problem comes when I try to receive.&amp;nbsp; I'm trying to check the received parity type using the code below ( if (MCF_UART1_USR &amp;amp; MCF_UART_USR_PE) ), but it always returns as data type, even when the data coming in is address type.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;PRE&gt;//Returns received message up to first address byte, and length including checksum byte.//If no address byte is received within timeout, return false.  Message buffer and length will contain message received up to point of timeout.uint_8 MDB_read_msg (FILE_PTR fh_ptr, char *msg, uint_8 *len, TIME_STRUCT timeout) { TIME_STRUCT StartTime, CurrentTime, TimeDifference; char c; printf ("MDB_read_msg: "); _time_get(&amp;amp;StartTime);  //Get start time  *len = 0;  do {  if (fstatus(fh_ptr)) {   c = fgetc(fh_ptr);   if (c==IO_ERROR)    break;   *msg = c;   msg++;   len++;      printf ("0x%02X ", c);      //all messages from MDB peripherals must end with an address byte   if (MCF_UART1_USR &amp;amp; MCF_UART_USR_PE) {    printf ("\n");    return TRUE;
                        }  }    _time_get(&amp;amp;CurrentTime);   _time_diff(&amp;amp;StartTime, &amp;amp;CurrentTime, &amp;amp;TimeDifference); } while((TimeDifference.SECONDS &amp;gt;= timeout.SECONDS) &amp;amp;&amp;amp;   
                (TimeDifference.MILLISECONDS &amp;gt;= timeout.MILLISECONDS)); printf ("timed out\n"); return FALSE;}&lt;/PRE&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Thanks again for your help,&lt;/P&gt;&lt;P&gt;Angelo&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 29 Oct 2020 09:10:57 GMT</pubDate>
      <guid>https://community.nxp.com/t5/MQX-Software-Solutions/Multidrop-mode-in-MQX-on-52259/m-p/164301#M1488</guid>
      <dc:creator>ARQuattr</dc:creator>
      <dc:date>2020-10-29T09:10:57Z</dc:date>
    </item>
    <item>
      <title>Re: Multidrop mode in MQX on 52259</title>
      <link>https://community.nxp.com/t5/MQX-Software-Solutions/Multidrop-mode-in-MQX-on-52259/m-p/164302#M1489</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;PetrM,&lt;BR /&gt;&lt;BR /&gt;Update:&lt;BR /&gt;1. I tried to implement the code you provided (only the IO_IOCTL_SERIAL_SET_PARITY case since I'm not doing h/w flow control) and I added the two new cases to the serial.h file.&amp;nbsp; I rebuilt the bsp and application but it doesn't seem to be having any effect.&amp;nbsp; I'm not sure the changes are being included in the build.&amp;nbsp; I'm having trouble debugging in CW10, but I tried to set an I/O pin within the case and it doesn't change.&amp;nbsp; Do I need to build any other projects aside from the bsp?&lt;BR /&gt;&lt;BR /&gt;2. I'm wondering if the mode that the port was opened with is related to the product.&amp;nbsp; I was originally using IO_SERIAL_XON_XOFF.&amp;nbsp; I also tried IO_SERIAL_RAW_IO and it had a similar problem, but seemed worse (fewer address bytes came out as data).&amp;nbsp; I tried some various other combinations, some of which didn't even allow the port to be opened.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Thanks,&lt;/P&gt;&lt;P&gt;Angelo&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 11 Jan 2011 00:57:07 GMT</pubDate>
      <guid>https://community.nxp.com/t5/MQX-Software-Solutions/Multidrop-mode-in-MQX-on-52259/m-p/164302#M1489</guid>
      <dc:creator>ARQuattr</dc:creator>
      <dc:date>2011-01-11T00:57:07Z</dc:date>
    </item>
    <item>
      <title>Re: Multidrop mode in MQX on 52259</title>
      <link>https://community.nxp.com/t5/MQX-Software-Solutions/Multidrop-mode-in-MQX-on-52259/m-p/164303#M1490</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;I figured out the issue with transmitting - I was changing the parity type to data immediately after writing the address byte, and it was apparently affecting the previous write.&amp;nbsp; I'm now checking the TXRDY bit in the USR before changing the parity type and it works fine.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;I still haven't got it working with the changes in serl_pol_mcf52xx.c however, but I'll write the registers directly until I figure that out.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 11 Jan 2011 12:11:26 GMT</pubDate>
      <guid>https://community.nxp.com/t5/MQX-Software-Solutions/Multidrop-mode-in-MQX-on-52259/m-p/164303#M1490</guid>
      <dc:creator>ARQuattr</dc:creator>
      <dc:date>2011-01-11T12:11:26Z</dc:date>
    </item>
  </channel>
</rss>

