<?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 Count between two inpulsion in S12 / MagniV Microcontrollers</title>
    <link>https://community.nxp.com/t5/S12-MagniV-Microcontrollers/Count-between-two-inpulsion/m-p/133030#M1794</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;DIV&gt;&lt;DIV&gt;Hello Friend,&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;I work on the MC9S12XDP512EVB and I work whith code warrior 4.1.&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;Now I want to count a time between two inpulsions but a i have 2 or 3 small problem or/and questions.&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;First Question&lt;/DIV&gt;&lt;DIV&gt;is It&amp;nbsp; possible&amp;nbsp;not to use an interruption to manage the flags? &amp;nbsp;Or rather the microcontrollor can make it of him same ?&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;Me i don't use the interruption.&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;My Program:&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;#define TCTL_3 (*((char*)0x004A))&lt;BR /&gt;#define TCTL_4 (*((char*)0x004B))&lt;BR /&gt;#define LECTURE (*((short int*)0x0050))&lt;BR /&gt;#define TEMPS (*((short int*)0x3000))&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;////////////////////////////////////////////////////////////////////////////////////////////&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;void main(void) {&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;init_timer();&amp;nbsp;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;BR /&gt;&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;&lt;BR /&gt;&amp;nbsp;if ( TFLG1_C0F ) {&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;TEMPS=LECTURE;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;/DIV&gt;&lt;DIV&gt;}&lt;BR /&gt;&lt;/DIV&gt;&lt;DIV&gt;////////////////////////////////////////////////////////////////////////////////////////////&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;static void init_timer(void)&amp;nbsp; {&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;TEMPS=0x0034;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;TIOS = 0xFE;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;TIE =0x00;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;TSCR2 =0x06;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;TCTL_3=0x00;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;TCTL_4=0x01;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;TSCR1=0xE8;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&lt;BR /&gt;&amp;nbsp;}&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;//////////////////////////////////////////////////////////////////////////////////////////////&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;My program makes first of all an initialization of the module timer and after i wait an inpulsion on IOS0.&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;But the problem the microcontrollor don't put the flags at 0 and me i can't it too.&lt;/DIV&gt;&lt;DIV&gt;this fact my count don't restart and i don't take a good count between two inpulsion.&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;Now I turn to you for your assitance. I looking for of information and assistance on this programmme so that it realise the operation which I wish.&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;But if you have a other similar program of this you can take me please.&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;thank you for your assistance&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;PS: I'm sorry for my bad english&lt;/DIV&gt;&lt;/DIV&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Thu, 20 Apr 2006 15:20:56 GMT</pubDate>
    <dc:creator>loulou</dc:creator>
    <dc:date>2006-04-20T15:20:56Z</dc:date>
    <item>
      <title>Count between two inpulsion</title>
      <link>https://community.nxp.com/t5/S12-MagniV-Microcontrollers/Count-between-two-inpulsion/m-p/133030#M1794</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;DIV&gt;&lt;DIV&gt;Hello Friend,&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;I work on the MC9S12XDP512EVB and I work whith code warrior 4.1.&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;Now I want to count a time between two inpulsions but a i have 2 or 3 small problem or/and questions.&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;First Question&lt;/DIV&gt;&lt;DIV&gt;is It&amp;nbsp; possible&amp;nbsp;not to use an interruption to manage the flags? &amp;nbsp;Or rather the microcontrollor can make it of him same ?&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;Me i don't use the interruption.&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;My Program:&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;#define TCTL_3 (*((char*)0x004A))&lt;BR /&gt;#define TCTL_4 (*((char*)0x004B))&lt;BR /&gt;#define LECTURE (*((short int*)0x0050))&lt;BR /&gt;#define TEMPS (*((short int*)0x3000))&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;////////////////////////////////////////////////////////////////////////////////////////////&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;void main(void) {&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;init_timer();&amp;nbsp;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;BR /&gt;&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;&lt;BR /&gt;&amp;nbsp;if ( TFLG1_C0F ) {&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;TEMPS=LECTURE;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;/DIV&gt;&lt;DIV&gt;}&lt;BR /&gt;&lt;/DIV&gt;&lt;DIV&gt;////////////////////////////////////////////////////////////////////////////////////////////&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;static void init_timer(void)&amp;nbsp; {&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;TEMPS=0x0034;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;TIOS = 0xFE;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;TIE =0x00;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;TSCR2 =0x06;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;TCTL_3=0x00;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;TCTL_4=0x01;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;TSCR1=0xE8;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&lt;BR /&gt;&amp;nbsp;}&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;//////////////////////////////////////////////////////////////////////////////////////////////&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;My program makes first of all an initialization of the module timer and after i wait an inpulsion on IOS0.&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;But the problem the microcontrollor don't put the flags at 0 and me i can't it too.&lt;/DIV&gt;&lt;DIV&gt;this fact my count don't restart and i don't take a good count between two inpulsion.&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;Now I turn to you for your assitance. I looking for of information and assistance on this programmme so that it realise the operation which I wish.&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;But if you have a other similar program of this you can take me please.&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;thank you for your assistance&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;PS: I'm sorry for my bad english&lt;/DIV&gt;&lt;/DIV&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 20 Apr 2006 15:20:56 GMT</pubDate>
      <guid>https://community.nxp.com/t5/S12-MagniV-Microcontrollers/Count-between-two-inpulsion/m-p/133030#M1794</guid>
      <dc:creator>loulou</dc:creator>
      <dc:date>2006-04-20T15:20:56Z</dc:date>
    </item>
    <item>
      <title>Re: Count between two inpulsion</title>
      <link>https://community.nxp.com/t5/S12-MagniV-Microcontrollers/Count-between-two-inpulsion/m-p/133031#M1795</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;DIV&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;FONT face="Comic Sans MS"&gt;Salut Loulou !&lt;/FONT&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;FONT face="Comic Sans MS"&gt;&lt;/FONT&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;&lt;FONT face="Comic Sans MS"&gt;Reading a value is not enough to clear a flag.&lt;/FONT&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;FONT face="Comic Sans MS"&gt;The general rule of thumb on S12 to clear a flag is:&lt;/FONT&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;FONT face="Comic Sans MS"&gt;- Read the register which has the flag set,&lt;/FONT&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;FONT face="Comic Sans MS"&gt;- Write a ONE to the bit you want to reset or to its associated ACK bit.&lt;/FONT&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;FONT face="Comic Sans MS"&gt;&lt;/FONT&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;&lt;FONT face="Comic Sans MS"&gt;So, and I haven't looked at your example in particular, but:&lt;/FONT&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;FONT face="Comic Sans MS"&gt;You can check the flag sometimes (what you do with your &lt;FONT face="Courier New"&gt;IF&lt;/FONT&gt;) it is reading the register. But then, within the "&lt;FONT face="Courier New"&gt;if&lt;/FONT&gt;" you whould do something like&lt;/FONT&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;FONT face="Courier New"&gt;TFLG1_TOF = 1; or use an ACKnowledgment bit if exists.&lt;/FONT&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;FONT face="Comic Sans MS"&gt;&lt;/FONT&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;&lt;FONT face="Comic Sans MS"&gt;Do you see what I mean ?&lt;/FONT&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;FONT face="Comic Sans MS"&gt;Alban.&lt;/FONT&gt;&lt;/DIV&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 20 Apr 2006 15:28:46 GMT</pubDate>
      <guid>https://community.nxp.com/t5/S12-MagniV-Microcontrollers/Count-between-two-inpulsion/m-p/133031#M1795</guid>
      <dc:creator>Alban</dc:creator>
      <dc:date>2006-04-20T15:28:46Z</dc:date>
    </item>
  </channel>
</rss>

