<?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: HCS12NE64 misses some edge interrupt in S12 / MagniV Microcontrollers</title>
    <link>https://community.nxp.com/t5/S12-MagniV-Microcontrollers/HCS12NE64-misses-some-edge-interrupt/m-p/126206#M491</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;BLOCKQUOTE&gt;EMontanez wrote:&lt;BR /&gt;&lt;DIV&gt;&lt;BR /&gt;&lt;P&gt;&lt;SPAN&gt;&lt;FONT face="Times New Roman"&gt;Method 2:&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;BR /&gt;&lt;P&gt;&lt;FONT face="Times New Roman"&gt;&lt;SPAN&gt;BCLR CRGFLG, ~bitmask&lt;/SPAN&gt;&lt;/FONT&gt;&lt;/P&gt;&lt;BR /&gt;&lt;P&gt;&lt;FONT face="Times New Roman"&gt;&lt;SPAN&gt;Could be used.&lt;/SPAN&gt;&lt;/FONT&gt;&lt;/P&gt;&lt;BR /&gt;&lt;P&gt;&lt;SPAN&gt;&lt;FONT face="Times New Roman"&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;BR /&gt;&lt;P&gt;&lt;SPAN&gt;You cannot use:&lt;/SPAN&gt;&lt;/P&gt;&lt;BR /&gt;&lt;P&gt;&lt;SPAN&gt;Wrong Method:&lt;/SPAN&gt;&lt;/P&gt;&lt;BR /&gt;&lt;P&gt;&lt;FONT face="Times New Roman"&gt;&lt;SPAN&gt;BSET CRGFLG, bitmask&lt;/SPAN&gt;&lt;/FONT&gt;&lt;/P&gt;&lt;BR /&gt;&lt;P&gt;&lt;FONT face="Times New Roman"&gt;&lt;SPAN&gt;On this register, because BSET is a "read-modify-write" instruction: all set bits will be cleared.&lt;/SPAN&gt;&lt;/FONT&gt;&lt;/P&gt;&lt;BR /&gt;&lt;P&gt;&lt;B&gt;&lt;SPAN&gt;&lt;FONT face="Times New Roman"&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/B&gt;&lt;/P&gt;&lt;BR /&gt;&lt;HR /&gt;&lt;/DIV&gt;&lt;/BLOCKQUOTE&gt;This may be a stupid question, but isn't BCLR a read-modify-write instruction as well?&lt;BR /&gt;&lt;BR /&gt;Sorry if I'm confused (I do that a lot).&lt;BR /&gt;&lt;BR /&gt;I also can't get this darn HTML to work right . . .&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Sat, 18 Feb 2006 04:42:59 GMT</pubDate>
    <dc:creator>rocco</dc:creator>
    <dc:date>2006-02-18T04:42:59Z</dc:date>
    <item>
      <title>HCS12NE64 misses some edge interrupt</title>
      <link>https://community.nxp.com/t5/S12-MagniV-Microcontrollers/HCS12NE64-misses-some-edge-interrupt/m-p/126204#M489</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;DIV&gt;In HCS12NE64,&lt;/DIV&gt;&lt;DIV&gt;I configure Port G Pins as rising edge interrupt.&lt;/DIV&gt;&lt;DIV&gt;Pulses are given to all port pins at different frequencies.&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;PortG interrupt routine()&lt;/DIV&gt;&lt;DIV&gt;{&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&amp;nbsp;1) Storing the PortG interrupt flag register temporarily&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;if(G4 Set)&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&amp;nbsp;{&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;/* Clear Port G4 interrupt Flag */&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;/* Toggle One Port Pin (any Port H Pins)&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&amp;nbsp;}&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&amp;nbsp;if(G5 Set)&lt;DIV&gt;&amp;nbsp;&amp;nbsp;{&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;/* Clear Port G5 interrupt Flag */&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;/* Toggle One Port Pin (any Port H Pins)&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&amp;nbsp;}&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&amp;nbsp;if(G6 Set)&lt;DIV&gt;&amp;nbsp;&amp;nbsp;{&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;/* Clear Port G6 interrupt Flag */&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;/* Toggle One Port Pin (any Port H Pins)&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&amp;nbsp;}&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&amp;nbsp;if(G7 Set)&lt;DIV&gt;&amp;nbsp;&amp;nbsp;{&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;/* Clear Port G7 interrupt Flag */&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;/* Toggle One Port Pin (any Port H Pins)&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&amp;nbsp;}&lt;/DIV&gt;&lt;DIV&gt;}&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;Some Strange things are happening&lt;/DIV&gt;&lt;DIV&gt;1) Processor is missing edges randomly at different times.&lt;/DIV&gt;&lt;DIV&gt;2) How it is possible?&lt;/DIV&gt;&lt;/DIV&gt;&lt;/DIV&gt;&lt;/DIV&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 10 Feb 2006 21:16:45 GMT</pubDate>
      <guid>https://community.nxp.com/t5/S12-MagniV-Microcontrollers/HCS12NE64-misses-some-edge-interrupt/m-p/126204#M489</guid>
      <dc:creator>tyson</dc:creator>
      <dc:date>2006-02-10T21:16:45Z</dc:date>
    </item>
    <item>
      <title>Re: HCS12NE64 misses some edge interrupt</title>
      <link>https://community.nxp.com/t5/S12-MagniV-Microcontrollers/HCS12NE64-misses-some-edge-interrupt/m-p/126205#M490</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;DIV&gt;&lt;/DIV&gt;
&lt;DIV&gt;Hi tyson,&lt;/DIV&gt;
&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;
&lt;DIV&gt;Can you send your actual source code instead of pseudo code for this Port G edge interrupt service routine?&lt;/DIV&gt;
&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;
&lt;DIV&gt;I think your most likely&amp;nbsp;using a&amp;nbsp;read-modify-write instruction like BSET when clearing the respective flag in the Port G flag register. If you do this, you can accidently clear flags for other Port G pins that are pending interrupt. Therefore, you will not see all the interrupts you expected. &lt;/DIV&gt;
&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;
&lt;DIV&gt;For some flag clearning rules, please read application note AN2554.&lt;/DIV&gt;
&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;
&lt;DIV&gt;Just a snippet of my cheat sheet for flag clearing:&lt;/DIV&gt;
&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;
&lt;DIV&gt;
&lt;P class="MsoBodyText" style="MARGIN: 0in 0in 0pt"&gt;&lt;B&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Times New Roman'"&gt;&lt;FONT color="#ff0000"&gt;For Assembly Language:&lt;NAMESPACE prefix="o" ns="urn:schemas-microsoft-com:office:office"&gt;&lt;/NAMESPACE&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/B&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;
&lt;P class="MsoBodyText" style="MARGIN: 0in 0in 0pt"&gt;&lt;B&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: windowtext; FONT-FAMILY: 'Times New Roman'"&gt;&lt;/SPAN&gt;&lt;/B&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;
&lt;P class="MsoBodyText" style="MARGIN: 0in 0in 0pt"&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: blue; FONT-FAMILY: 'Times New Roman'"&gt;The bits in the CRGFLG register are "write 1 to clear". To clear specific&amp;nbsp;bits you&amp;nbsp;must&amp;nbsp;use the instruction sequence:&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;
&lt;P class="MsoBodyText" style="MARGIN: 0in 0in 0pt"&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Times New Roman'; mso-fareast-font-family: 'Arial Unicode MS'"&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;FONT color="#ff0000"&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;
&lt;P class="MsoBodyText" style="MARGIN: 0in 0in 0pt"&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: windowtext; FONT-FAMILY: 'Times New Roman'; mso-fareast-font-family: 'Arial Unicode MS'"&gt;Method 1:&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;
&lt;P class="MsoNormal" style="MARGIN: 0in 0in 0pt"&gt;&lt;FONT face="Times New Roman"&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: green"&gt;LDAA bitmask&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: green; mso-bidi-font-size: 12.0pt"&gt;&lt;/SPAN&gt;&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;
&lt;P class="MsoNormal" style="MARGIN: 0in 0in 0pt"&gt;&lt;FONT face="Times New Roman"&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: green"&gt;STAA&amp;nbsp;CRGFLG&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; mso-bidi-font-size: 12.0pt"&gt;&lt;/SPAN&gt;&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;
&lt;P class="MsoNormal" style="MARGIN: 0in 0in 0pt"&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: blue"&gt;&lt;FONT face="Times New Roman"&gt;(Of course B could be used)&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;
&lt;P class="MsoNormal" style="MARGIN: 0in 0in 0pt"&gt;&lt;SPAN style="FONT-SIZE: 10pt; mso-bidi-font-size: 12.0pt"&gt;&lt;FONT face="Times New Roman"&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;
&lt;P class="MsoNormal" style="MARGIN: 0in 0in 0pt"&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: blue"&gt;&lt;FONT face="Times New Roman"&gt;Or &lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;
&lt;P class="MsoNormal" style="MARGIN: 0in 0in 0pt"&gt;&lt;SPAN style="FONT-SIZE: 10pt; mso-bidi-font-size: 12.0pt"&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;FONT face="Times New Roman"&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;
&lt;P class="MsoNormal" style="MARGIN: 0in 0in 0pt"&gt;&lt;SPAN style="FONT-SIZE: 10pt; mso-bidi-font-size: 12.0pt"&gt;&lt;FONT face="Times New Roman"&gt;Method 2:&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;
&lt;P class="MsoNormal" style="MARGIN: 0in 0in 0pt"&gt;&lt;FONT face="Times New Roman"&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: green"&gt;BCLR CRGFLG, ~bitmask&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; mso-bidi-font-size: 12.0pt"&gt;&lt;/SPAN&gt;&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;
&lt;P class="MsoNormal" style="MARGIN: 0in 0in 0pt"&gt;&lt;FONT face="Times New Roman"&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: blue"&gt;Could be used.&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; mso-bidi-font-size: 12.0pt"&gt;&lt;/SPAN&gt;&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;
&lt;P class="MsoNormal" style="MARGIN: 0in 0in 0pt"&gt;&lt;SPAN style="FONT-SIZE: 10pt; mso-bidi-font-size: 12.0pt"&gt;&lt;FONT face="Times New Roman"&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;
&lt;P class="MsoBodyText" style="MARGIN: 0in 0in 0pt"&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: blue; FONT-FAMILY: 'Times New Roman'"&gt;You&amp;nbsp;cannot use: &lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;
&lt;P class="MsoBodyText" style="MARGIN: 0in 0in 0pt"&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: windowtext; FONT-FAMILY: 'Times New Roman'"&gt;Wrong Method:&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;
&lt;P class="MsoNormal" style="MARGIN: 0in 0in 0pt"&gt;&lt;FONT face="Times New Roman"&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: green"&gt;BSET CRGFLG, bitmask&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: green; mso-bidi-font-size: 12.0pt"&gt;&lt;/SPAN&gt;&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;
&lt;P class="MsoNormal" style="MARGIN: 0in 0in 0pt"&gt;&lt;FONT face="Times New Roman"&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: blue"&gt;On this register, because BSET is a "read-modify-write" instruction: all set bits will be cleared.&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; mso-bidi-font-size: 12.0pt"&gt;&lt;/SPAN&gt;&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;
&lt;P class="MsoNormal" style="MARGIN: 0in 0in 0pt"&gt;&lt;B&gt;&lt;SPAN style="FONT-SIZE: 10pt; mso-bidi-font-size: 12.0pt"&gt;&lt;/SPAN&gt;&lt;/B&gt;&lt;/P&gt;&lt;P&gt;&lt;FONT face="Times New Roman"&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;
&lt;P class="MsoNormal" style="MARGIN: 0in 0in 0pt"&gt;&lt;B&gt;&lt;SPAN style="FONT-SIZE: 10pt; mso-bidi-font-size: 12.0pt"&gt;&lt;FONT face="Times New Roman"&gt;**************************************************************************************&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/B&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;
&lt;P class="MsoNormal" style="MARGIN: 0in 0in 0pt"&gt;&lt;B&gt;&lt;SPAN style="FONT-SIZE: 10pt; mso-bidi-font-size: 12.0pt"&gt;&lt;/SPAN&gt;&lt;/B&gt;&lt;/P&gt;&lt;P&gt;&lt;FONT face="Times New Roman"&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;
&lt;P class="MsoBodyText" style="MARGIN: 0in 0in 0pt"&gt;&lt;B&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Times New Roman'"&gt;&lt;FONT color="#ff0000"&gt;For C Language:&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/B&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;
&lt;P class="MsoBodyText" style="MARGIN: 0in 0in 0pt"&gt;&lt;B&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Times New Roman'"&gt;&lt;/SPAN&gt;&lt;/B&gt;&lt;/P&gt;&lt;P&gt;&lt;FONT color="#ff0000"&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;
&lt;P class="MsoNormal" style="MARGIN: 0in 0in 0pt"&gt;&lt;FONT face="Times New Roman"&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: blue"&gt;Assuming CRGFLG is defined as&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: blue; mso-bidi-font-size: 12.0pt"&gt;&lt;/SPAN&gt;&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;
&lt;P class="MsoNormal" style="MARGIN: 0in 0in 0pt"&gt;&lt;FONT face="Times New Roman"&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: blue"&gt;volatile unsigned char CRGFLG @ (0x37 + REG_BASE);&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: blue; mso-bidi-font-size: 12.0pt"&gt;&lt;/SPAN&gt;&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;
&lt;P class="MsoNormal" style="MARGIN: 0in 0in 0pt"&gt;&lt;FONT face="Times New Roman"&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: blue"&gt;Then,&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: blue; mso-bidi-font-size: 12.0pt"&gt;&lt;/SPAN&gt;&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;
&lt;P class="MsoNormal" style="MARGIN: 0in 0in 0pt"&gt;&lt;SPAN style="FONT-SIZE: 10pt; mso-bidi-font-size: 12.0pt"&gt;&lt;FONT face="Times New Roman"&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;
&lt;P class="MsoNormal" style="MARGIN: 0in 0in 0pt"&gt;&lt;SPAN style="FONT-SIZE: 10pt; mso-bidi-font-size: 12.0pt"&gt;&lt;FONT face="Times New Roman"&gt;Method 1 – Flag Register:&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;
&lt;P class="MsoNormal" style="MARGIN: 0in 0in 0pt"&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: green"&gt;&lt;FONT face="Times New Roman"&gt;CRGFLG = 0x80;&amp;nbsp; /* clear RTIF */&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;
&lt;P class="MsoNormal" style="MARGIN: 0in 0in 0pt"&gt;&lt;FONT face="Times New Roman"&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: blue"&gt;Will translate to LDAA/B STAA/B and clear RTIF and nothing else. &lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; mso-bidi-font-size: 12.0pt"&gt;&lt;/SPAN&gt;&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;
&lt;P class="MsoNormal" style="MARGIN: 0in 0in 0pt"&gt;&lt;FONT face="Times New Roman"&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: blue"&gt;To make this easier, define bitmasks for the register:&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; mso-bidi-font-size: 12.0pt"&gt;&lt;/SPAN&gt;&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;
&lt;P class="MsoNormal" style="MARGIN: 0in 0in 0pt"&gt;&lt;FONT face="Times New Roman"&gt;&lt;SPAN style="FONT-SIZE: 10pt; mso-bidi-font-size: 12.0pt"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN lang="IT" style="FONT-SIZE: 10pt; COLOR: green; mso-ansi-language: IT"&gt;#define RTIF 0x80&lt;/SPAN&gt;&lt;SPAN lang="IT" style="FONT-SIZE: 10pt; COLOR: green; mso-bidi-font-size: 12.0pt; mso-ansi-language: IT"&gt;&lt;/SPAN&gt;&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;
&lt;P class="MsoNormal" style="MARGIN: 0in 0in 0pt"&gt;&lt;FONT face="Times New Roman"&gt;&lt;SPAN lang="IT" style="FONT-SIZE: 10pt; COLOR: green; mso-ansi-language: IT"&gt;#define PORF 0x40&lt;/SPAN&gt;&lt;SPAN lang="IT" style="FONT-SIZE: 10pt; COLOR: green; mso-bidi-font-size: 12.0pt; mso-ansi-language: IT"&gt;&lt;/SPAN&gt;&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;
&lt;P class="MsoNormal" style="MARGIN: 0in 0in 0pt"&gt;&lt;FONT face="Times New Roman"&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: blue"&gt;Etc.&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: blue; mso-bidi-font-size: 12.0pt"&gt;&lt;/SPAN&gt;&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;
&lt;P class="MsoNormal" style="MARGIN: 0in 0in 0pt"&gt;&lt;FONT face="Times New Roman"&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: blue"&gt;Then write,&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; mso-bidi-font-size: 12.0pt"&gt;&lt;/SPAN&gt;&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;
&lt;P class="MsoNormal" style="MARGIN: 0in 0in 0pt"&gt;&lt;FONT face="Times New Roman"&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: green"&gt;CRGFLG = RTIF; /* clear RTIF */&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: green; mso-bidi-font-size: 12.0pt"&gt;&lt;/SPAN&gt;&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;
&lt;P class="MsoNormal" style="MARGIN: 0in 0in 0pt"&gt;&lt;FONT face="Times New Roman"&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: blue"&gt;Or&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; mso-bidi-font-size: 12.0pt"&gt;&lt;/SPAN&gt;&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;
&lt;P class="MsoNormal" style="MARGIN: 0in 0in 0pt"&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: green"&gt;&lt;FONT face="Times New Roman"&gt;CRGFLG = RTIF + PORF; /* clear RTIF and PORF */&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;
&lt;P class="MsoNormal" style="MARGIN: 0in 0in 0pt"&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: green"&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;FONT face="Times New Roman"&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;
&lt;P class="MsoNormal" style="MARGIN: 0in 0in 0pt"&gt;&lt;SPAN style="FONT-SIZE: 10pt; mso-bidi-font-size: 12.0pt"&gt;&lt;FONT face="Times New Roman"&gt;Method 2 – Flag Register:&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;
&lt;P class="MsoNormal" style="MARGIN: 0in 0in 0pt"&gt;&lt;FONT face="Times New Roman"&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: blue"&gt;To get the BCLR CRGFLG, $7F instruction, you need to use&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; mso-bidi-font-size: 12.0pt"&gt;&lt;/SPAN&gt;&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;
&lt;P class="MsoNormal" style="MARGIN: 0in 0in 0pt"&gt;&lt;FONT face="Times New Roman"&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: green"&gt;CRGFLG &amp;amp;= 0x80; /* clear RTIF */&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: green; mso-bidi-font-size: 12.0pt"&gt;&lt;/SPAN&gt;&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;
&lt;P class="MsoNormal" style="MARGIN: 0in 0in 0pt"&gt;&lt;FONT face="Times New Roman"&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: blue"&gt;Or&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; mso-bidi-font-size: 12.0pt"&gt;&lt;/SPAN&gt;&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;
&lt;P class="MsoNormal" style="MARGIN: 0in 0in 0pt"&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: green"&gt;&lt;FONT face="Times New Roman"&gt;CRGFLG &amp;amp;= RTIF; /* clear RTIF */&lt;/FONT&gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: green; mso-bidi-font-size: 12.0pt"&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;/DIV&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Sat, 18 Feb 2006 00:53:54 GMT</pubDate>
      <guid>https://community.nxp.com/t5/S12-MagniV-Microcontrollers/HCS12NE64-misses-some-edge-interrupt/m-p/126205#M490</guid>
      <dc:creator>EMontanez</dc:creator>
      <dc:date>2006-02-18T00:53:54Z</dc:date>
    </item>
    <item>
      <title>Re: HCS12NE64 misses some edge interrupt</title>
      <link>https://community.nxp.com/t5/S12-MagniV-Microcontrollers/HCS12NE64-misses-some-edge-interrupt/m-p/126206#M491</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;BLOCKQUOTE&gt;EMontanez wrote:&lt;BR /&gt;&lt;DIV&gt;&lt;BR /&gt;&lt;P&gt;&lt;SPAN&gt;&lt;FONT face="Times New Roman"&gt;Method 2:&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;BR /&gt;&lt;P&gt;&lt;FONT face="Times New Roman"&gt;&lt;SPAN&gt;BCLR CRGFLG, ~bitmask&lt;/SPAN&gt;&lt;/FONT&gt;&lt;/P&gt;&lt;BR /&gt;&lt;P&gt;&lt;FONT face="Times New Roman"&gt;&lt;SPAN&gt;Could be used.&lt;/SPAN&gt;&lt;/FONT&gt;&lt;/P&gt;&lt;BR /&gt;&lt;P&gt;&lt;SPAN&gt;&lt;FONT face="Times New Roman"&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;BR /&gt;&lt;P&gt;&lt;SPAN&gt;You cannot use:&lt;/SPAN&gt;&lt;/P&gt;&lt;BR /&gt;&lt;P&gt;&lt;SPAN&gt;Wrong Method:&lt;/SPAN&gt;&lt;/P&gt;&lt;BR /&gt;&lt;P&gt;&lt;FONT face="Times New Roman"&gt;&lt;SPAN&gt;BSET CRGFLG, bitmask&lt;/SPAN&gt;&lt;/FONT&gt;&lt;/P&gt;&lt;BR /&gt;&lt;P&gt;&lt;FONT face="Times New Roman"&gt;&lt;SPAN&gt;On this register, because BSET is a "read-modify-write" instruction: all set bits will be cleared.&lt;/SPAN&gt;&lt;/FONT&gt;&lt;/P&gt;&lt;BR /&gt;&lt;P&gt;&lt;B&gt;&lt;SPAN&gt;&lt;FONT face="Times New Roman"&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/B&gt;&lt;/P&gt;&lt;BR /&gt;&lt;HR /&gt;&lt;/DIV&gt;&lt;/BLOCKQUOTE&gt;This may be a stupid question, but isn't BCLR a read-modify-write instruction as well?&lt;BR /&gt;&lt;BR /&gt;Sorry if I'm confused (I do that a lot).&lt;BR /&gt;&lt;BR /&gt;I also can't get this darn HTML to work right . . .&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Sat, 18 Feb 2006 04:42:59 GMT</pubDate>
      <guid>https://community.nxp.com/t5/S12-MagniV-Microcontrollers/HCS12NE64-misses-some-edge-interrupt/m-p/126206#M491</guid>
      <dc:creator>rocco</dc:creator>
      <dc:date>2006-02-18T04:42:59Z</dc:date>
    </item>
    <item>
      <title>Re: HCS12NE64 misses some edge interrupt</title>
      <link>https://community.nxp.com/t5/S12-MagniV-Microcontrollers/HCS12NE64-misses-some-edge-interrupt/m-p/126207#M492</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;DIV&gt;&lt;/DIV&gt;&lt;DIV&gt;rocco,&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;You are absolutely right, BCLR is also a read-modify-instruction. I&amp;nbsp;need to update my cheat sheet to be more specific to BSET as a dangerous read-modify-instruction for clearing flags. Since users need to write a 1 to clear a flag, the BSET instruction is most likely used. However, its nature of using an "AND" function to mask the register can unexpectedly erase other flag bits. On the other hand, if using a BCLR instruction with the inverse mask, which uses an "OR" function, it will work ok.&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;Best bet is to use the LDAA STAA method.&lt;/DIV&gt;&lt;P&gt;Message Edited by EMontanez on &lt;SPAN class="date_text"&gt;02-20-2006&lt;/SPAN&gt; &lt;SPAN class="time_text"&gt;04:13 PM&lt;/SPAN&gt;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 21 Feb 2006 06:13:24 GMT</pubDate>
      <guid>https://community.nxp.com/t5/S12-MagniV-Microcontrollers/HCS12NE64-misses-some-edge-interrupt/m-p/126207#M492</guid>
      <dc:creator>EMontanez</dc:creator>
      <dc:date>2006-02-21T06:13:24Z</dc:date>
    </item>
  </channel>
</rss>

