<?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 Help with Serial Interrupts on DSP56F807? in Classic/Legacy CodeWarrior</title>
    <link>https://community.nxp.com/t5/Classic-Legacy-CodeWarrior/Help-with-Serial-Interrupts-on-DSP56F807/m-p/201923#M5509</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;DIV&gt;&lt;DIV&gt;Hi!&amp;nbsp; I am implementing&amp;nbsp;timer, serial rx, serial tx, and adc interrupts on the DSP56F807.&amp;nbsp; I was able to get rx, tx, adc, pwm, and timer working just off flags, but it needs to be faster, hence the move to interrupts.&lt;BR /&gt;&amp;nbsp;&lt;BR /&gt;My question is on implementing serial port interrupts.&amp;nbsp; I was able to get the TimerA interrupt working just fine right away, it was very straightforward extension of the example code included with CodeWarrior.&amp;nbsp; However, I can't get either the serial receive full or transmit ready interrupts to work, following the same method.&lt;BR /&gt;&amp;nbsp;&lt;BR /&gt;Here is what I did:&lt;BR /&gt;- Insert the name of my function into the pROM and pRAM files (FcpmRxIsr).&lt;BR /&gt;- Initialize the serial port to trigger the interrupt.&amp;nbsp; 0x002C in the CR register.&amp;nbsp; We run the ServoPod at 20MHz (F413 in PLLDB), so for 9600 baud we put 0x0082 in the BR register.&lt;BR /&gt;- Write interrupt service routine, put &lt;SPAN style="color: #3300FF;"&gt;#pragma interrupt&lt;/SPAN&gt; before the declaration in the .c file.&amp;nbsp; Leave declaration as usual in the .h file.&amp;nbsp; Right now all my isr does is read the SCI0DR register into a variable.&lt;BR /&gt;- Run main.&amp;nbsp; Main checks if the variable changes.&amp;nbsp; If it changed, break from loop.&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;It doesn't break from the loop,&amp;nbsp;yet when I pause the program, it usually stops inside the RxFull isr code.&amp;nbsp; So it does trigger the isr, yet the variable is either never updated or something keeps it from returning to main().&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;I feel I forgot to initialize something, or some small issue like that.&amp;nbsp; I've gone through the user manual multiple times already, though, trying to find&amp;nbsp;what I've missed.&amp;nbsp;&amp;nbsp;Please help!&amp;nbsp; Thank you very, very much.&amp;nbsp; Let me know if you need any more information.&lt;/DIV&gt;&lt;/DIV&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Wed, 12 Mar 2008 03:50:26 GMT</pubDate>
    <dc:creator>yoohsiu</dc:creator>
    <dc:date>2008-03-12T03:50:26Z</dc:date>
    <item>
      <title>Help with Serial Interrupts on DSP56F807?</title>
      <link>https://community.nxp.com/t5/Classic-Legacy-CodeWarrior/Help-with-Serial-Interrupts-on-DSP56F807/m-p/201923#M5509</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;DIV&gt;&lt;DIV&gt;Hi!&amp;nbsp; I am implementing&amp;nbsp;timer, serial rx, serial tx, and adc interrupts on the DSP56F807.&amp;nbsp; I was able to get rx, tx, adc, pwm, and timer working just off flags, but it needs to be faster, hence the move to interrupts.&lt;BR /&gt;&amp;nbsp;&lt;BR /&gt;My question is on implementing serial port interrupts.&amp;nbsp; I was able to get the TimerA interrupt working just fine right away, it was very straightforward extension of the example code included with CodeWarrior.&amp;nbsp; However, I can't get either the serial receive full or transmit ready interrupts to work, following the same method.&lt;BR /&gt;&amp;nbsp;&lt;BR /&gt;Here is what I did:&lt;BR /&gt;- Insert the name of my function into the pROM and pRAM files (FcpmRxIsr).&lt;BR /&gt;- Initialize the serial port to trigger the interrupt.&amp;nbsp; 0x002C in the CR register.&amp;nbsp; We run the ServoPod at 20MHz (F413 in PLLDB), so for 9600 baud we put 0x0082 in the BR register.&lt;BR /&gt;- Write interrupt service routine, put &lt;SPAN style="color: #3300FF;"&gt;#pragma interrupt&lt;/SPAN&gt; before the declaration in the .c file.&amp;nbsp; Leave declaration as usual in the .h file.&amp;nbsp; Right now all my isr does is read the SCI0DR register into a variable.&lt;BR /&gt;- Run main.&amp;nbsp; Main checks if the variable changes.&amp;nbsp; If it changed, break from loop.&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;It doesn't break from the loop,&amp;nbsp;yet when I pause the program, it usually stops inside the RxFull isr code.&amp;nbsp; So it does trigger the isr, yet the variable is either never updated or something keeps it from returning to main().&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;I feel I forgot to initialize something, or some small issue like that.&amp;nbsp; I've gone through the user manual multiple times already, though, trying to find&amp;nbsp;what I've missed.&amp;nbsp;&amp;nbsp;Please help!&amp;nbsp; Thank you very, very much.&amp;nbsp; Let me know if you need any more information.&lt;/DIV&gt;&lt;/DIV&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 12 Mar 2008 03:50:26 GMT</pubDate>
      <guid>https://community.nxp.com/t5/Classic-Legacy-CodeWarrior/Help-with-Serial-Interrupts-on-DSP56F807/m-p/201923#M5509</guid>
      <dc:creator>yoohsiu</dc:creator>
      <dc:date>2008-03-12T03:50:26Z</dc:date>
    </item>
    <item>
      <title>Re: Help with Serial Interrupts on DSP56F807?</title>
      <link>https://community.nxp.com/t5/Classic-Legacy-CodeWarrior/Help-with-Serial-Interrupts-on-DSP56F807/m-p/201924#M5510</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;DIV&gt;Hi&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;This is not easy to determine the cause of the problem.&lt;BR /&gt;The better way will be to log it directly in the Technical support system.&lt;BR /&gt;Please use Freescale on line support web page.&lt;BR /&gt;&amp;nbsp; - Go to following URL: &lt;A href="http://www.freescale.com/TechSupport" rel="nofollow" target="_blank"&gt;http://www.freescale.com/TechSupport&lt;/A&gt;&lt;BR /&gt;&amp;nbsp; - Click on Submit a Service Request. You will come to a login page.&lt;BR /&gt;&amp;nbsp; - You can submit your request through the web from there.&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;Please provide us more details about the Tool version used.&lt;BR /&gt;To do that you must:&lt;BR /&gt;* CW:&lt;BR /&gt;Start the IDE and click on Help | About Metrowerks CodeWarrior.&lt;BR /&gt;Click on Installed Products&amp;nbsp;&lt;BR /&gt;Provide us all info displayed.&lt;BR /&gt;Or you can save them in a txt file.&lt;BR /&gt;&lt;/DIV&gt;&lt;DIV&gt;Regards&lt;/DIV&gt;&lt;DIV&gt;Pascal&lt;/DIV&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 12 Mar 2008 15:43:06 GMT</pubDate>
      <guid>https://community.nxp.com/t5/Classic-Legacy-CodeWarrior/Help-with-Serial-Interrupts-on-DSP56F807/m-p/201924#M5510</guid>
      <dc:creator>trytohelp</dc:creator>
      <dc:date>2008-03-12T15:43:06Z</dc:date>
    </item>
  </channel>
</rss>

