<?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 Re: Interrupts in S12 / MagniV Microcontrollers</title>
    <link>https://community.nxp.com/t5/S12-MagniV-Microcontrollers/Interrupts/m-p/211801#M8807</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi,&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Here's what you must knwo about interrupt.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Interrupt are synchronous event triggered by peripheral or&amp;nbsp; core. When an event occur, the code execution is stopped and interrupt rouine is served. Exiting from interrupt, the previous execution context is restore, and code execution is resumed.&lt;/P&gt;&lt;P&gt;Interrupt are controled by 2 flag ( 1 enable&amp;nbsp; xxIE , and 1 event triggered&amp;nbsp; xxIF) At core level there is a global interrupt enable flag use to mask all interrupts&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;To do so you must :&lt;/P&gt;&lt;P&gt;* Declare a interrupt service routine: It shall be mapped in a non banked area and decaler as an interrupt to inform the compiler to add conctext save / resore code ( interrupt prolog and&amp;nbsp; epilog)&lt;/P&gt;&lt;P&gt;#pragma CODE_SEG __NEAR_SEG NON_BANKED&lt;BR /&gt;__interrupt void __near vDIna_iSeqAcquisition_Isr(void)﻿&lt;/P&gt;&lt;P&gt;* Within the routine, you must acknwoledge the interrupt flag ( if not you'll loop inside the interrupt routine)&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;* At init you must enable your peripheral interrupt soucre and clear the interrupt triggered flag.&lt;/P&gt;&lt;P&gt;* You must alos configure the interrupt controller to register the address of the interrupt routine&lt;/P&gt;&lt;P&gt;* At the end you must enable global interrupt and start your peripheral.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;You should download code example for your micro and make a code reading to see an impementation example.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Sat, 18 Jun 2011 18:45:10 GMT</pubDate>
    <dc:creator>AROK</dc:creator>
    <dc:date>2011-06-18T18:45:10Z</dc:date>
    <item>
      <title>Interrupts</title>
      <link>https://community.nxp.com/t5/S12-MagniV-Microcontrollers/Interrupts/m-p/211800#M8806</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hello Friends!&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;I am new to using interrupts and have never even&amp;nbsp;attempted to work with them before. I have explored many examples on the net, but I have not been able to come across anything that gives a good explanation just yet. I think I am beginning to understand the vector table and how to call and assign them, but I was wondering if anyone knew any good references or had some good advice for starting off with them. I am working with codewarrior and I am trying to programs interrupts for&amp;nbsp;a MK 4x4 keypad combined with the MC9S12DG128 uC. Thank you so much for&amp;nbsp;anything you may be able to contribute!&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Sincerely,&lt;/P&gt;&lt;P&gt;Jonathan&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Sat, 04 Jun 2011 02:27:47 GMT</pubDate>
      <guid>https://community.nxp.com/t5/S12-MagniV-Microcontrollers/Interrupts/m-p/211800#M8806</guid>
      <dc:creator>jonathan_abbati</dc:creator>
      <dc:date>2011-06-04T02:27:47Z</dc:date>
    </item>
    <item>
      <title>Re: Interrupts</title>
      <link>https://community.nxp.com/t5/S12-MagniV-Microcontrollers/Interrupts/m-p/211801#M8807</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi,&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Here's what you must knwo about interrupt.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Interrupt are synchronous event triggered by peripheral or&amp;nbsp; core. When an event occur, the code execution is stopped and interrupt rouine is served. Exiting from interrupt, the previous execution context is restore, and code execution is resumed.&lt;/P&gt;&lt;P&gt;Interrupt are controled by 2 flag ( 1 enable&amp;nbsp; xxIE , and 1 event triggered&amp;nbsp; xxIF) At core level there is a global interrupt enable flag use to mask all interrupts&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;To do so you must :&lt;/P&gt;&lt;P&gt;* Declare a interrupt service routine: It shall be mapped in a non banked area and decaler as an interrupt to inform the compiler to add conctext save / resore code ( interrupt prolog and&amp;nbsp; epilog)&lt;/P&gt;&lt;P&gt;#pragma CODE_SEG __NEAR_SEG NON_BANKED&lt;BR /&gt;__interrupt void __near vDIna_iSeqAcquisition_Isr(void)﻿&lt;/P&gt;&lt;P&gt;* Within the routine, you must acknwoledge the interrupt flag ( if not you'll loop inside the interrupt routine)&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;* At init you must enable your peripheral interrupt soucre and clear the interrupt triggered flag.&lt;/P&gt;&lt;P&gt;* You must alos configure the interrupt controller to register the address of the interrupt routine&lt;/P&gt;&lt;P&gt;* At the end you must enable global interrupt and start your peripheral.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;You should download code example for your micro and make a code reading to see an impementation example.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Sat, 18 Jun 2011 18:45:10 GMT</pubDate>
      <guid>https://community.nxp.com/t5/S12-MagniV-Microcontrollers/Interrupts/m-p/211801#M8807</guid>
      <dc:creator>AROK</dc:creator>
      <dc:date>2011-06-18T18:45:10Z</dc:date>
    </item>
  </channel>
</rss>

