<?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>CodeWarrior Development ToolsのトピックRe: Change Asynchronous Slave ID from software</title>
    <link>https://community.nxp.com/t5/CodeWarrior-Development-Tools/Change-Asynchronous-Slave-ID-from-software/m-p/999477#M8026</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;&lt;SPAN class="" lang="en"&gt;&lt;SPAN class="" title=""&gt;Hello,&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN class="" title=""&gt;I use UART and I confirm that I would like to be able to assign the Slave code from DipSw so that I can exchange slave devices without having to reprogram the 'Slave Id' property.&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN class="" title=""&gt;I noticed a possibility by changing the code of 'ASl1.c' generated by Processor Expert.&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN class="" title=""&gt;If I insert an external variable visible from 'main.c' called, for example, Code_Id in the code ASl1.c and subsequently modifying the method 'ASl1_AsynchroSeSl (component AsynchroSlave)' like so:&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;EM&gt;&lt;SPAN class="" lang="en"&gt;&lt;/SPAN&gt;&lt;/EM&gt;&lt;/P&gt;&lt;P style="padding-left: 60px;"&gt;&lt;EM&gt;&lt;SPAN class="" lang="en"&gt;**&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; This component module is generated by Processor Expert. Do not modify it.&lt;BR /&gt;/*!&lt;BR /&gt;** @file ASl1.c&lt;BR /&gt;** @version 01.33&lt;BR /&gt;** @brief&lt;BR /&gt;**&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; This component "AsynchroSlave" implements SLAVE part of asynchronous&lt;BR /&gt;**&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; serial master-slave communication.&lt;BR /&gt;*/&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&lt;BR /&gt;/*!&lt;BR /&gt;**&amp;nbsp; @addtogroup ASl1_module ASl1 module documentation&lt;BR /&gt;**&amp;nbsp; @{&lt;BR /&gt;*/&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&lt;/SPAN&gt;&lt;SPAN class="" lang="en"&gt;&lt;BR /&gt;&lt;/SPAN&gt;&lt;SPAN class="" lang="en"&gt;&lt;BR /&gt;/* MODULE ASl1. */&lt;/SPAN&gt;&lt;/EM&gt;&lt;/P&gt;&lt;P style="padding-left: 60px;"&gt;&lt;SPAN class="" lang="en"&gt;&lt;EM&gt;/* SerFlag bits */&lt;/EM&gt;&lt;BR /&gt;&lt;EM&gt;#define OVERRUN_ERR&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 0x01U&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; /* Overrun error flag bit&amp;nbsp;&amp;nbsp; */&lt;/EM&gt;&lt;BR /&gt;&lt;EM&gt;#define COMMON_ERR&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 0x02U&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; /* Common error of RX&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; */&lt;/EM&gt;&lt;BR /&gt;&lt;EM&gt;#define CHAR_IN_RX&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 0x04U&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; /* Char is in RX buffer&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; */&lt;/EM&gt;&lt;BR /&gt;&lt;EM&gt;#define FULL_TX&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 0x08U&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; /* Full transmit buffer&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; */&lt;/EM&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;EM&gt;static volatile byte SerFlag;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; /* Flags for serial communication */&lt;/EM&gt;&lt;BR /&gt;&lt;EM&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; /* Bit 0 - Overrun error */&lt;/EM&gt;&lt;BR /&gt;&lt;EM&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; /* Bit 1 - Common error of RX */&lt;/EM&gt;&lt;BR /&gt;&lt;EM&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; /* Bit 2 - Char in RX buffer */&lt;/EM&gt;&lt;BR /&gt;&lt;EM&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; /* Bit 3 - Full TX buffer */&lt;/EM&gt;&lt;BR /&gt;&lt;EM&gt;static ASl1_TComData BufferRead;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; /* Input char for SCI commmunication */&lt;/EM&gt;&lt;BR /&gt;&lt;EM&gt;static bool SelSlave;&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; /* Device is selected */&lt;/EM&gt;&lt;BR /&gt;&lt;EM&gt;static void AsynchroSeSl(byte *Flg, byte Num); /* Prototype of the function AsynchroSeSl */&lt;/EM&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN style="text-decoration: underline;"&gt;&lt;STRONG&gt;extern byte&amp;nbsp;&amp;nbsp; &amp;nbsp;Code_Id;&lt;/STRONG&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; // New external variable&lt;/SPAN&gt;&lt;BR /&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="padding-left: 60px;"&gt;&lt;SPAN class="" lang="en"&gt;.&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="padding-left: 60px;"&gt;&lt;SPAN class="" lang="en"&gt;.&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="padding-left: 60px;"&gt;&lt;SPAN class="" lang="en"&gt;.&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="padding-left: 60px;"&gt;&lt;SPAN class="" lang="en"&gt;.&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="padding-left: 60px;"&gt;&lt;EM&gt;&lt;SPAN class="" lang="en"&gt;/*&lt;BR /&gt;** ===================================================================&lt;BR /&gt;**&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Method&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; :&amp;nbsp; ASl1_AsynchroSeSl (component AsynchroSlave)&lt;BR /&gt;**&lt;BR /&gt;**&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Description :&lt;BR /&gt;**&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Compares the received Slave ID with it's own ID and sets the &lt;BR /&gt;**&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; appropriate flags.&lt;BR /&gt;**&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; This method is internal. It is used by Processor Expert only.&lt;BR /&gt;** ===================================================================&lt;BR /&gt;*/&lt;BR /&gt;static void AsynchroSeSl(byte *Flg, byte Num)&lt;BR /&gt;{&lt;/SPAN&gt;&lt;/EM&gt;&lt;/P&gt;&lt;P style="padding-left: 60px;"&gt;&lt;EM&gt;&lt;SPAN class="" lang="en"&gt;&lt;BR /&gt;&amp;nbsp;&lt;SPAN style="text-decoration: underline;"&gt; if (Num == &lt;SPAN style="text-decoration: line-through;"&gt;&lt;STRONG&gt;ASl1_SLAVE_ID&lt;/STRONG&gt;)&lt;/SPAN&gt; {&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; /* Is Num parametr equal as address of slave? */&amp;nbsp; &lt;BR /&gt;&lt;/SPAN&gt;&lt;/EM&gt;&lt;/P&gt;&lt;P style="padding-left: 60px;"&gt;&lt;STRONG&gt;&lt;EM&gt;&lt;SPAN class="" lang="en"&gt;&amp;nbsp;&amp;nbsp; if (Num == Code_Id) {&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; // I replace the constant 'ASl1_SLAVE_ID' with my external variable&lt;/SPAN&gt;&lt;/EM&gt;&lt;/STRONG&gt;&lt;/P&gt;&lt;P style="padding-left: 60px;"&gt;&lt;EM&gt;&lt;SPAN class="" lang="en"&gt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; *Flg |= ON_SELECT;&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; /* Set flag */&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; SelSlave = TRUE;&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; /* Slave is selected */&lt;BR /&gt;&amp;nbsp; } else {&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; if (SelSlave == TRUE) {&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; /* Is slave selected? */&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; *Flg |= ON_UNSELECT;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; /* Set flag */&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; SelSlave = FALSE;&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; /* Slave is not selected */&lt;BR /&gt;&amp;nbsp; }&lt;BR /&gt;}&lt;/SPAN&gt;&lt;/EM&gt;&lt;/P&gt;&lt;P&gt;&lt;EM&gt;&lt;SPAN class="" lang="en"&gt;&lt;/SPAN&gt;&lt;/EM&gt;&lt;/P&gt;&lt;P&gt;&lt;EM&gt;&lt;SPAN class="" lang="en"&gt;It might work, I haven't tried it yet ...:smileywink:&lt;/SPAN&gt;&lt;/EM&gt;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Sat, 28 Mar 2020 08:57:03 GMT</pubDate>
    <dc:creator>legnanimassimo</dc:creator>
    <dc:date>2020-03-28T08:57:03Z</dc:date>
    <item>
      <title>Change Asynchronous Slave ID from software</title>
      <link>https://community.nxp.com/t5/CodeWarrior-Development-Tools/Change-Asynchronous-Slave-ID-from-software/m-p/999473#M8022</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Is it possible to change Asynchronous Slave ID from software?&lt;BR /&gt;Let me explain: is it possible to attribute a value (read for example by an external dip switch) to the slave address ID of an asynchronous port?&lt;BR /&gt;Thank you&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Sun, 22 Mar 2020 19:59:55 GMT</pubDate>
      <guid>https://community.nxp.com/t5/CodeWarrior-Development-Tools/Change-Asynchronous-Slave-ID-from-software/m-p/999473#M8022</guid>
      <dc:creator>legnanimassimo</dc:creator>
      <dc:date>2020-03-22T19:59:55Z</dc:date>
    </item>
    <item>
      <title>Re: Change Asynchronous Slave ID from software</title>
      <link>https://community.nxp.com/t5/CodeWarrior-Development-Tools/Change-Asynchronous-Slave-ID-from-software/m-p/999474#M8023</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Can you please tell us the device that you are using?&lt;/P&gt;&lt;P&gt;regards&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Mon, 23 Mar 2020 21:07:21 GMT</pubDate>
      <guid>https://community.nxp.com/t5/CodeWarrior-Development-Tools/Change-Asynchronous-Slave-ID-from-software/m-p/999474#M8023</guid>
      <dc:creator>vicentegomez</dc:creator>
      <dc:date>2020-03-23T21:07:21Z</dc:date>
    </item>
    <item>
      <title>Re: Change Asynchronous Slave ID from software</title>
      <link>https://community.nxp.com/t5/CodeWarrior-Development-Tools/Change-Asynchronous-Slave-ID-from-software/m-p/999475#M8024</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi Vicente,&lt;BR /&gt;I am using S912ZVCA192 as master which should communicate with a group of slave devices (9s08sh8) to which I would like to be able to assign them an address by dip switch.&lt;BR /&gt;Thanks for your interest&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 24 Mar 2020 10:55:02 GMT</pubDate>
      <guid>https://community.nxp.com/t5/CodeWarrior-Development-Tools/Change-Asynchronous-Slave-ID-from-software/m-p/999475#M8024</guid>
      <dc:creator>legnanimassimo</dc:creator>
      <dc:date>2020-03-24T10:55:02Z</dc:date>
    </item>
    <item>
      <title>Re: Change Asynchronous Slave ID from software</title>
      <link>https://community.nxp.com/t5/CodeWarrior-Development-Tools/Change-Asynchronous-Slave-ID-from-software/m-p/999476#M8025</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Can you please tell me the protocol that you are using, UART, LIN SPI, IIC?&lt;/P&gt;&lt;P&gt;I believe that you want to use other pins (GPIOs) to set the address and then use the protocols to make the communication, is this correct?&lt;/P&gt;&lt;P&gt;Regards&lt;/P&gt;&lt;P&gt;Vicente&amp;nbsp;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 27 Mar 2020 16:59:45 GMT</pubDate>
      <guid>https://community.nxp.com/t5/CodeWarrior-Development-Tools/Change-Asynchronous-Slave-ID-from-software/m-p/999476#M8025</guid>
      <dc:creator>vicentegomez</dc:creator>
      <dc:date>2020-03-27T16:59:45Z</dc:date>
    </item>
    <item>
      <title>Re: Change Asynchronous Slave ID from software</title>
      <link>https://community.nxp.com/t5/CodeWarrior-Development-Tools/Change-Asynchronous-Slave-ID-from-software/m-p/999477#M8026</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;&lt;SPAN class="" lang="en"&gt;&lt;SPAN class="" title=""&gt;Hello,&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN class="" title=""&gt;I use UART and I confirm that I would like to be able to assign the Slave code from DipSw so that I can exchange slave devices without having to reprogram the 'Slave Id' property.&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN class="" title=""&gt;I noticed a possibility by changing the code of 'ASl1.c' generated by Processor Expert.&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN class="" title=""&gt;If I insert an external variable visible from 'main.c' called, for example, Code_Id in the code ASl1.c and subsequently modifying the method 'ASl1_AsynchroSeSl (component AsynchroSlave)' like so:&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;EM&gt;&lt;SPAN class="" lang="en"&gt;&lt;/SPAN&gt;&lt;/EM&gt;&lt;/P&gt;&lt;P style="padding-left: 60px;"&gt;&lt;EM&gt;&lt;SPAN class="" lang="en"&gt;**&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; This component module is generated by Processor Expert. Do not modify it.&lt;BR /&gt;/*!&lt;BR /&gt;** @file ASl1.c&lt;BR /&gt;** @version 01.33&lt;BR /&gt;** @brief&lt;BR /&gt;**&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; This component "AsynchroSlave" implements SLAVE part of asynchronous&lt;BR /&gt;**&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; serial master-slave communication.&lt;BR /&gt;*/&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&lt;BR /&gt;/*!&lt;BR /&gt;**&amp;nbsp; @addtogroup ASl1_module ASl1 module documentation&lt;BR /&gt;**&amp;nbsp; @{&lt;BR /&gt;*/&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&lt;/SPAN&gt;&lt;SPAN class="" lang="en"&gt;&lt;BR /&gt;&lt;/SPAN&gt;&lt;SPAN class="" lang="en"&gt;&lt;BR /&gt;/* MODULE ASl1. */&lt;/SPAN&gt;&lt;/EM&gt;&lt;/P&gt;&lt;P style="padding-left: 60px;"&gt;&lt;SPAN class="" lang="en"&gt;&lt;EM&gt;/* SerFlag bits */&lt;/EM&gt;&lt;BR /&gt;&lt;EM&gt;#define OVERRUN_ERR&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 0x01U&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; /* Overrun error flag bit&amp;nbsp;&amp;nbsp; */&lt;/EM&gt;&lt;BR /&gt;&lt;EM&gt;#define COMMON_ERR&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 0x02U&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; /* Common error of RX&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; */&lt;/EM&gt;&lt;BR /&gt;&lt;EM&gt;#define CHAR_IN_RX&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 0x04U&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; /* Char is in RX buffer&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; */&lt;/EM&gt;&lt;BR /&gt;&lt;EM&gt;#define FULL_TX&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 0x08U&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; /* Full transmit buffer&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; */&lt;/EM&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;EM&gt;static volatile byte SerFlag;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; /* Flags for serial communication */&lt;/EM&gt;&lt;BR /&gt;&lt;EM&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; /* Bit 0 - Overrun error */&lt;/EM&gt;&lt;BR /&gt;&lt;EM&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; /* Bit 1 - Common error of RX */&lt;/EM&gt;&lt;BR /&gt;&lt;EM&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; /* Bit 2 - Char in RX buffer */&lt;/EM&gt;&lt;BR /&gt;&lt;EM&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; /* Bit 3 - Full TX buffer */&lt;/EM&gt;&lt;BR /&gt;&lt;EM&gt;static ASl1_TComData BufferRead;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; /* Input char for SCI commmunication */&lt;/EM&gt;&lt;BR /&gt;&lt;EM&gt;static bool SelSlave;&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; /* Device is selected */&lt;/EM&gt;&lt;BR /&gt;&lt;EM&gt;static void AsynchroSeSl(byte *Flg, byte Num); /* Prototype of the function AsynchroSeSl */&lt;/EM&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN style="text-decoration: underline;"&gt;&lt;STRONG&gt;extern byte&amp;nbsp;&amp;nbsp; &amp;nbsp;Code_Id;&lt;/STRONG&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; // New external variable&lt;/SPAN&gt;&lt;BR /&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="padding-left: 60px;"&gt;&lt;SPAN class="" lang="en"&gt;.&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="padding-left: 60px;"&gt;&lt;SPAN class="" lang="en"&gt;.&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="padding-left: 60px;"&gt;&lt;SPAN class="" lang="en"&gt;.&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="padding-left: 60px;"&gt;&lt;SPAN class="" lang="en"&gt;.&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="padding-left: 60px;"&gt;&lt;EM&gt;&lt;SPAN class="" lang="en"&gt;/*&lt;BR /&gt;** ===================================================================&lt;BR /&gt;**&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Method&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; :&amp;nbsp; ASl1_AsynchroSeSl (component AsynchroSlave)&lt;BR /&gt;**&lt;BR /&gt;**&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Description :&lt;BR /&gt;**&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Compares the received Slave ID with it's own ID and sets the &lt;BR /&gt;**&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; appropriate flags.&lt;BR /&gt;**&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; This method is internal. It is used by Processor Expert only.&lt;BR /&gt;** ===================================================================&lt;BR /&gt;*/&lt;BR /&gt;static void AsynchroSeSl(byte *Flg, byte Num)&lt;BR /&gt;{&lt;/SPAN&gt;&lt;/EM&gt;&lt;/P&gt;&lt;P style="padding-left: 60px;"&gt;&lt;EM&gt;&lt;SPAN class="" lang="en"&gt;&lt;BR /&gt;&amp;nbsp;&lt;SPAN style="text-decoration: underline;"&gt; if (Num == &lt;SPAN style="text-decoration: line-through;"&gt;&lt;STRONG&gt;ASl1_SLAVE_ID&lt;/STRONG&gt;)&lt;/SPAN&gt; {&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; /* Is Num parametr equal as address of slave? */&amp;nbsp; &lt;BR /&gt;&lt;/SPAN&gt;&lt;/EM&gt;&lt;/P&gt;&lt;P style="padding-left: 60px;"&gt;&lt;STRONG&gt;&lt;EM&gt;&lt;SPAN class="" lang="en"&gt;&amp;nbsp;&amp;nbsp; if (Num == Code_Id) {&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; // I replace the constant 'ASl1_SLAVE_ID' with my external variable&lt;/SPAN&gt;&lt;/EM&gt;&lt;/STRONG&gt;&lt;/P&gt;&lt;P style="padding-left: 60px;"&gt;&lt;EM&gt;&lt;SPAN class="" lang="en"&gt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; *Flg |= ON_SELECT;&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; /* Set flag */&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; SelSlave = TRUE;&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; /* Slave is selected */&lt;BR /&gt;&amp;nbsp; } else {&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; if (SelSlave == TRUE) {&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; /* Is slave selected? */&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; *Flg |= ON_UNSELECT;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; /* Set flag */&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; SelSlave = FALSE;&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; /* Slave is not selected */&lt;BR /&gt;&amp;nbsp; }&lt;BR /&gt;}&lt;/SPAN&gt;&lt;/EM&gt;&lt;/P&gt;&lt;P&gt;&lt;EM&gt;&lt;SPAN class="" lang="en"&gt;&lt;/SPAN&gt;&lt;/EM&gt;&lt;/P&gt;&lt;P&gt;&lt;EM&gt;&lt;SPAN class="" lang="en"&gt;It might work, I haven't tried it yet ...:smileywink:&lt;/SPAN&gt;&lt;/EM&gt;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Sat, 28 Mar 2020 08:57:03 GMT</pubDate>
      <guid>https://community.nxp.com/t5/CodeWarrior-Development-Tools/Change-Asynchronous-Slave-ID-from-software/m-p/999477#M8026</guid>
      <dc:creator>legnanimassimo</dc:creator>
      <dc:date>2020-03-28T08:57:03Z</dc:date>
    </item>
  </channel>
</rss>

