<?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>8-bit MicrocontrollersのトピックRe: Some problems with TimeBase on AP32</title>
    <link>https://community.nxp.com/t5/8-bit-Microcontrollers/Some-problems-with-TimeBase-on-AP32/m-p/187943#M14237</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;DIV&gt;&lt;/DIV&gt;&lt;DIV&gt;Hello BConf,&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;I might suggest you download the document CPU08RM CPU08 Reference Manual from the Freescale website.&amp;nbsp; Section 3 contains more detailed information about the operation of&amp;nbsp;Resets and Interrupts.&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;Unless nested interrupts have been specifically catered for within the code, only a single interrupt may be processed at any time.&amp;nbsp; One interrupt must exit before another interrupt can commence processing.&amp;nbsp; Allowing for nested interrupts within a HC908 MCU does require some code and processing overheads, and will likely require considerably more stack space.&amp;nbsp; Usually it is&amp;nbsp;used only in special circumstances.&amp;nbsp; I do not know whether PE provides nested interrupts.&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;Assuming that there is no interrupt nesting, if your current processing were to exceed 200 microseconds duration, you would miss one or more of the 200us timer interrupts.&amp;nbsp; This is why the ISR processing should be as short as possible.&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;Regards,&lt;/DIV&gt;&lt;DIV&gt;Mac&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;BR /&gt;&lt;BR /&gt;Message Edited by bigmac on &lt;SPAN class="date_text"&gt;2008-09-25&lt;/SPAN&gt; &lt;SPAN class="time_text"&gt;11:05 PM&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Thu, 25 Sep 2008 19:59:21 GMT</pubDate>
    <dc:creator>bigmac</dc:creator>
    <dc:date>2008-09-25T19:59:21Z</dc:date>
    <item>
      <title>Some problems with TimeBase on AP32</title>
      <link>https://community.nxp.com/t5/8-bit-Microcontrollers/Some-problems-with-TimeBase-on-AP32/m-p/187940#M14234</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;DIV&gt; &lt;/DIV&gt;&lt;SPAN&gt;Hello,&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; I`m using the 908AP32CFBE, and I am using CW 6.1. with PE.&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp; I put a bean that interrupts every second and it increase a global variable, then&amp;nbsp; it compares the global variable with another.&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;Here is part of the code&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN style="font-size: 1;"&gt;&lt;STRONG&gt;&amp;nbsp;void Base_de_tiempo_OnInterrupt(void)&lt;/STRONG&gt;&lt;BR /&gt;{&lt;BR /&gt;&amp;nbsp; byte AuxPrev,err;&lt;BR /&gt;&amp;nbsp; word SND;&lt;BR /&gt;&amp;nbsp; float frec,per,Vrms,Irms,PF,aux3;&lt;BR /&gt;&amp;nbsp; Nosep Dato;&lt;BR /&gt;&amp;nbsp;&lt;BR /&gt;&amp;nbsp; //WDog1_Clear();&lt;BR /&gt;&amp;nbsp; base++;&lt;BR /&gt;&amp;nbsp;&lt;BR /&gt;&amp;nbsp; if(base==tiempoentremuestras)&lt;BR /&gt;&amp;nbsp; {&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Muestreo_C_fase_Disable();&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Muestreo_S_fase_Disable();&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Base_de_tiempo_Disable();&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; tecla=FALSE;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; KBSCR_ACK=1;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; //Coloco nuevamente KEYF en 0&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; KBSCR_IMASK=0;&amp;nbsp;&amp;nbsp; //Habilito nuevamente las interrupciones de teclado&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; err=LCD_SendBlock("Paso 1",6,&amp;amp;SND);&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; while (err!=ERR_OK);&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; AD3204_Disable();&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; err=LCD_SendBlock("Paso 2",6,&amp;amp;SND);&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; while (err!=ERR_OK);&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; LCD_SendChar(12);&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Cpu_Delay100US(50);&lt;BR /&gt;&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;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Para Debug&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&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; **************************************************/&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; err=LCD_SendBlock("Interrupcion",12,&amp;amp;SND);&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; while (err!=ERR_OK);&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; err=TRUE;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; for(;&lt;A href="http://freescale.i.lithium.com/i/smilies/16x16_smiley-wink.gif"&gt;&lt;IMG alt=":smileywink:" class="emoticon emoticon-smileywink" src="http://freescale.i.lithium.com/i/smilies/16x16_smiley-wink.gif" title="Smiley Wink" /&gt;&lt;/A&gt;&lt;BR /&gt;&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; if (tecla)&lt;BR /&gt;&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; }&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; tecla=FALSE;&amp;nbsp;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; KBSCR_ACK=1;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; //Coloco nuevamente KEYF en 0&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; KBSCR_IMASK=0;&amp;nbsp;&amp;nbsp; //Habilito nuevamente las interrupciones de teclado&lt;BR /&gt;&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;&lt;BR /&gt;&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;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; FIN Debug&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&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; **************************************************/&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN&gt; ...&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ...&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;}&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;When the condition is true, (base=tiempoentremuestras) the uC freezes and I have to reset it.&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;I simulated it, but it worked fine, so I m not sure where could be the problem.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Please, if someone can give me an advice , I will appreciate a lot.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Thanks&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;BConf&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;DIV&gt; &lt;/DIV&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 24 Sep 2008 08:20:18 GMT</pubDate>
      <guid>https://community.nxp.com/t5/8-bit-Microcontrollers/Some-problems-with-TimeBase-on-AP32/m-p/187940#M14234</guid>
      <dc:creator>B_Conf</dc:creator>
      <dc:date>2008-09-24T08:20:18Z</dc:date>
    </item>
    <item>
      <title>Re: Some problems with TimeBase on AP32</title>
      <link>https://community.nxp.com/t5/8-bit-Microcontrollers/Some-problems-with-TimeBase-on-AP32/m-p/187941#M14235</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;DIV&gt;&lt;/DIV&gt;&lt;DIV&gt;Hello BConf,&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;I three places you have code similar to the following -&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;&lt;FONT face="Courier New"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; err = LCD_SendBlock( "Paso 1", 6, &amp;amp;SND);&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; while (err != ERR_OK);&lt;BR /&gt;&lt;/FONT&gt;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;Unless the value ERR_OK is immediately returned by the &lt;FONT face="Courier New"&gt;LCD_SendBlock()&lt;/FONT&gt;&amp;nbsp;function, you will enter a wait loop.&amp;nbsp; Since &lt;FONT face="Courier New"&gt;err&lt;/FONT&gt; is a local variable,&amp;nbsp;once entered the wait loop&amp;nbsp;can never exit.&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;Even if you had intended that the variable be global, and the value updated within another ISR, this also seems problematic.&amp;nbsp; Assuming your posted code actually represents ISR code for a timer interrupt, further interrupts will be globally disabled by default (to prevent multiple nested interrupts).&amp;nbsp; Again, the value of the variable could not change to exit the loop.&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;Rule #1:&amp;nbsp; Never place wait loops, or even delay loops, within ISR code - always exit an ISR as quickly as possible.&lt;/DIV&gt;&lt;DIV&gt;Rule #2:&amp;nbsp; Be wary about calling other functions from within an ISR - the called functions might contain wait loops or delay loops.&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;Under simulation conditions, it is possible that the value of &lt;FONT face="Courier New"&gt;err&lt;/FONT&gt; was such that the loop did not.&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;Regards,&lt;/DIV&gt;&lt;DIV&gt;Mac&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;BR /&gt;&lt;BR /&gt;Message Edited by bigmac on &lt;SPAN class="date_text"&gt;2008-09-25&lt;/SPAN&gt; &lt;SPAN class="time_text"&gt;12:56 AM&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 24 Sep 2008 21:49:50 GMT</pubDate>
      <guid>https://community.nxp.com/t5/8-bit-Microcontrollers/Some-problems-with-TimeBase-on-AP32/m-p/187941#M14235</guid>
      <dc:creator>bigmac</dc:creator>
      <dc:date>2008-09-24T21:49:50Z</dc:date>
    </item>
    <item>
      <title>Re: Some problems with TimeBase on AP32</title>
      <link>https://community.nxp.com/t5/8-bit-Microcontrollers/Some-problems-with-TimeBase-on-AP32/m-p/187942#M14236</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;DIV&gt;Hello Bigmac:&lt;/DIV&gt;&lt;DIV&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;You are right, I didn't realise that the update of err is mising, so I'm going to add that update to avoid infinites loop.&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; On the other hand, I would like to know, why&amp;nbsp;is it &amp;nbsp;important to exit of an ISR as soon as possible, if&lt;/DIV&gt;&lt;DIV&gt;I disable the Bean when the condition is true?. (My code).&lt;/DIV&gt;&lt;DIV&gt;While this interrupt is running but the condition is false, I have another timer, interrupting every 200 uS, it means that the interrupts are not disabled by default, at least it seems to work on that way, so I don't understand what you mean, in fact I don't understand how CW manage the ISR's.&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;Thank you very much for your support&lt;/DIV&gt;&lt;DIV&gt;Regards&lt;/DIV&gt;&lt;DIV&gt;B_Conf.&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 25 Sep 2008 08:57:27 GMT</pubDate>
      <guid>https://community.nxp.com/t5/8-bit-Microcontrollers/Some-problems-with-TimeBase-on-AP32/m-p/187942#M14236</guid>
      <dc:creator>B_Conf</dc:creator>
      <dc:date>2008-09-25T08:57:27Z</dc:date>
    </item>
    <item>
      <title>Re: Some problems with TimeBase on AP32</title>
      <link>https://community.nxp.com/t5/8-bit-Microcontrollers/Some-problems-with-TimeBase-on-AP32/m-p/187943#M14237</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;DIV&gt;&lt;/DIV&gt;&lt;DIV&gt;Hello BConf,&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;I might suggest you download the document CPU08RM CPU08 Reference Manual from the Freescale website.&amp;nbsp; Section 3 contains more detailed information about the operation of&amp;nbsp;Resets and Interrupts.&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;Unless nested interrupts have been specifically catered for within the code, only a single interrupt may be processed at any time.&amp;nbsp; One interrupt must exit before another interrupt can commence processing.&amp;nbsp; Allowing for nested interrupts within a HC908 MCU does require some code and processing overheads, and will likely require considerably more stack space.&amp;nbsp; Usually it is&amp;nbsp;used only in special circumstances.&amp;nbsp; I do not know whether PE provides nested interrupts.&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;Assuming that there is no interrupt nesting, if your current processing were to exceed 200 microseconds duration, you would miss one or more of the 200us timer interrupts.&amp;nbsp; This is why the ISR processing should be as short as possible.&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;Regards,&lt;/DIV&gt;&lt;DIV&gt;Mac&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;BR /&gt;&lt;BR /&gt;Message Edited by bigmac on &lt;SPAN class="date_text"&gt;2008-09-25&lt;/SPAN&gt; &lt;SPAN class="time_text"&gt;11:05 PM&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 25 Sep 2008 19:59:21 GMT</pubDate>
      <guid>https://community.nxp.com/t5/8-bit-Microcontrollers/Some-problems-with-TimeBase-on-AP32/m-p/187943#M14237</guid>
      <dc:creator>bigmac</dc:creator>
      <dc:date>2008-09-25T19:59:21Z</dc:date>
    </item>
  </channel>
</rss>

