<?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>Kinetis Microcontrollers中的主题 Re: FRDM-K64 and GPIO configuration as interrupt input</title>
    <link>https://community.nxp.com/t5/Kinetis-Microcontrollers/FRDM-K64-and-GPIO-configuration-as-interrupt-input/m-p/1536912#M64166</link>
    <description>&lt;P&gt;Your answer helped me. I am using SDK example GPIO_Input_Interrupt. SW3 used to generate Interrupt&lt;/P&gt;&lt;P&gt;I want to know about the working or these three lines. PortClear and GpioClear (Difference between them)&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;#if (defined(FSL_FEATURE_PORT_HAS_NO_INTERRUPT) &amp;amp;&amp;amp; FSL_FEATURE_PORT_HAS_NO_INTERRUPT)&lt;/P&gt;&lt;P&gt;/* Clear external interrupt flag. */&lt;BR /&gt;GPIO_GpioClearInterruptFlags(BOARD_SW_GPIO, 1U &amp;lt;&amp;lt; BOARD_SW_GPIO_PIN);&lt;/P&gt;&lt;P&gt;#else&lt;BR /&gt;/* Clear external interrupt flag. */&lt;BR /&gt;GPIO_PortClearInterruptFlags(BOARD_SW_GPIO, 1U &amp;lt;&amp;lt; BOARD_SW_GPIO_PIN);&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
    <pubDate>Thu, 13 Oct 2022 07:27:36 GMT</pubDate>
    <dc:creator>abdurrehman98</dc:creator>
    <dc:date>2022-10-13T07:27:36Z</dc:date>
    <item>
      <title>FRDM-K64 and GPIO configuration as interrupt input</title>
      <link>https://community.nxp.com/t5/Kinetis-Microcontrollers/FRDM-K64-and-GPIO-configuration-as-interrupt-input/m-p/635608#M38325</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I'm using a FRDM-K64 board with SDK_2.0 and KDS 3.1.0.&lt;/P&gt;&lt;P&gt;I try to configure the pin PTC3 &amp;nbsp;as an input interrupt. Here after, you'll find the initialization code that I use:&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;/* PTC3 - Pin 16 SLP_TR Pin */&lt;BR /&gt;#define BOARD_SLP_TR_PORT &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;PORTC&lt;BR /&gt;#define BOARD_SLP_TR_IRQ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;PORTC_IRQn&lt;BR /&gt;#define BOARD_SLP_IRQ_HANDLER PORTC_IRQHandler&lt;BR /&gt;#define BOARD_SLP_TR_GPIO &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; GPIOC&lt;BR /&gt;#define BOARD_SLP_TR_GPIO_PIN &amp;nbsp; 3&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;PORT_SetPinMux(PORTC, BOARD_SLP_TR_GPIO_PIN, kPORT_MuxAsGpio); &amp;nbsp; &amp;nbsp; &amp;nbsp;&lt;SPAN class=""&gt; &lt;/SPAN&gt;/* PTC3&lt;SPAN class=""&gt; &lt;/SPAN&gt;*/&lt;/P&gt;&lt;P&gt;GPIO_PinInit(BOARD_SLP_TR_GPIO, BOARD_SLP_TR_GPIO_PIN, &amp;amp;in_config);&lt;BR /&gt; NVIC_SetPriority(BOARD_SLP_TR_IRQ, 15);&lt;BR /&gt; EnableIRQ(BOARD_SLP_TR_IRQ);&lt;BR /&gt; PORT_SetPinInterruptConfig(BOARD_SLP_TR_PORT, BOARD_SLP_TR_GPIO_PIN, kPORT_InterruptEitherEdge);&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;The&amp;nbsp;program fails as soon as the GPIO pin state is modified. It' looks like I never enter in the interrupt handler.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Any help is welcome.&amp;nbsp;&lt;/P&gt;&lt;P&gt;Thanks in advance&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Nadine,&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 22 Dec 2016 16:36:36 GMT</pubDate>
      <guid>https://community.nxp.com/t5/Kinetis-Microcontrollers/FRDM-K64-and-GPIO-configuration-as-interrupt-input/m-p/635608#M38325</guid>
      <dc:creator>nadine</dc:creator>
      <dc:date>2016-12-22T16:36:36Z</dc:date>
    </item>
    <item>
      <title>Re: FRDM-K64 and GPIO configuration as interrupt input</title>
      <link>https://community.nxp.com/t5/Kinetis-Microcontrollers/FRDM-K64-and-GPIO-configuration-as-interrupt-input/m-p/635609#M38326</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi Nadine&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I don't know the SDK code but it may be that it expects you to clear the interrupt source in the user callback. If you don't it may be stuck in the interrupt (?). If it hangs "during" initialisation it may expect you to previously enable clocks to the port in question (?).&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;You could also look at uTasker code to do this -&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;PRE class="language-c line-numbers"&gt;&lt;CODE&gt;&lt;SPAN class="keyword token"&gt;extern&lt;/SPAN&gt; &lt;SPAN class="keyword token"&gt;void&lt;/SPAN&gt; &lt;SPAN class="token function"&gt;fnConfigInterrupts&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;(&lt;/SPAN&gt;&lt;SPAN class="keyword token"&gt;void&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;)&lt;/SPAN&gt;
&lt;SPAN class="punctuation token"&gt;{&lt;/SPAN&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; INTERRUPT_SETUP interrupt_setup&lt;SPAN class="punctuation token"&gt;;&lt;/SPAN&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;&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;SPAN class="comment token"&gt;// interrupt configuration parameters&lt;/SPAN&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; interrupt_setup&lt;SPAN class="punctuation token"&gt;.&lt;/SPAN&gt;int_type&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN class="operator token"&gt;=&lt;/SPAN&gt; PORT_INTERRUPT&lt;SPAN class="punctuation token"&gt;;&lt;/SPAN&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; &lt;SPAN class="comment token"&gt;// identifier to configure port interrupt&lt;/SPAN&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; interrupt_setup&lt;SPAN class="punctuation token"&gt;.&lt;/SPAN&gt;int_priority&amp;nbsp;&amp;nbsp; &lt;SPAN class="operator token"&gt;=&lt;/SPAN&gt; PRIORITY_PORT_C_INT&lt;SPAN class="punctuation token"&gt;;&lt;/SPAN&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; &lt;SPAN class="comment token"&gt;// interrupt priority level&lt;/SPAN&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; interrupt_setup&lt;SPAN class="punctuation token"&gt;.&lt;/SPAN&gt;int_port&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN class="operator token"&gt;=&lt;/SPAN&gt; PORTC&lt;SPAN class="punctuation token"&gt;;&lt;/SPAN&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;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN class="comment token"&gt;// the port that the interrupt input is on&lt;/SPAN&gt;

&amp;nbsp;&amp;nbsp;&amp;nbsp; interrupt_setup&lt;SPAN class="punctuation token"&gt;.&lt;/SPAN&gt;int_port_bits&amp;nbsp; &lt;SPAN class="operator token"&gt;=&lt;/SPAN&gt; PORTC_BIT1&lt;SPAN class="punctuation token"&gt;;&lt;/SPAN&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; interrupt_setup&lt;SPAN class="punctuation token"&gt;.&lt;/SPAN&gt;int_port_sense &lt;SPAN class="operator token"&gt;=&lt;/SPAN&gt; &lt;SPAN class="punctuation token"&gt;(&lt;/SPAN&gt;IRQ_BOTH_EDGES &lt;SPAN class="operator token"&gt;|&lt;/SPAN&gt; PULLUP_ON&lt;SPAN class="punctuation token"&gt;)&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;;&lt;/SPAN&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; interrupt_setup&lt;SPAN class="punctuation token"&gt;.&lt;/SPAN&gt;int_handler&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN class="operator token"&gt;=&lt;/SPAN&gt; myInterrupt1&lt;SPAN class="punctuation token"&gt;;&lt;/SPAN&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; &lt;SPAN class="comment token"&gt;// handling function - called on any edge on PTC1&lt;/SPAN&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN class="token function"&gt;fnConfigureInterrupt&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;(&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;(&lt;/SPAN&gt;&lt;SPAN class="keyword token"&gt;void&lt;/SPAN&gt; &lt;SPAN class="operator token"&gt;*&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;)&lt;/SPAN&gt;&lt;SPAN class="operator token"&gt;&amp;amp;&lt;/SPAN&gt;interrupt_setup&lt;SPAN class="punctuation token"&gt;)&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;;&lt;/SPAN&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; &lt;SPAN class="comment token"&gt;// configure interrupt&lt;/SPAN&gt;

&amp;nbsp;&amp;nbsp;&amp;nbsp; interrupt_setup&lt;SPAN class="punctuation token"&gt;.&lt;/SPAN&gt;int_port_bits&amp;nbsp; &lt;SPAN class="operator token"&gt;=&lt;/SPAN&gt; PORTC_BIT2&lt;SPAN class="punctuation token"&gt;;&lt;/SPAN&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; interrupt_setup&lt;SPAN class="punctuation token"&gt;.&lt;/SPAN&gt;int_port_sense &lt;SPAN class="operator token"&gt;=&lt;/SPAN&gt; &lt;SPAN class="punctuation token"&gt;(&lt;/SPAN&gt;IRQ_FALLING_EDGE &lt;SPAN class="operator token"&gt;|&lt;/SPAN&gt; PULLUP_ON&lt;SPAN class="punctuation token"&gt;)&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;;&lt;/SPAN&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; interrupt_setup&lt;SPAN class="punctuation token"&gt;.&lt;/SPAN&gt;int_handler&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN class="operator token"&gt;=&lt;/SPAN&gt; myInterrupt2&lt;SPAN class="punctuation token"&gt;;&lt;/SPAN&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; &lt;SPAN class="comment token"&gt;// handling function - called on a falling edge on PTC2&lt;/SPAN&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN class="token function"&gt;fnConfigureInterrupt&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;(&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;(&lt;/SPAN&gt;&lt;SPAN class="keyword token"&gt;void&lt;/SPAN&gt; &lt;SPAN class="operator token"&gt;*&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;)&lt;/SPAN&gt;&lt;SPAN class="operator token"&gt;&amp;amp;&lt;/SPAN&gt;interrupt_setup&lt;SPAN class="punctuation token"&gt;)&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;;&lt;/SPAN&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; &lt;SPAN class="comment token"&gt;// configure interrupt&lt;/SPAN&gt;

&amp;nbsp;&amp;nbsp;&amp;nbsp; interrupt_setup&lt;SPAN class="punctuation token"&gt;.&lt;/SPAN&gt;int_port_bits&amp;nbsp; &lt;SPAN class="operator token"&gt;=&lt;/SPAN&gt; PORTC_BIT3&lt;SPAN class="punctuation token"&gt;;&lt;/SPAN&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; interrupt_setup&lt;SPAN class="punctuation token"&gt;.&lt;/SPAN&gt;int_port_sense &lt;SPAN class="operator token"&gt;=&lt;/SPAN&gt; &lt;SPAN class="punctuation token"&gt;(&lt;/SPAN&gt;IRQ_HIGH_LEVEL &lt;SPAN class="operator token"&gt;|&lt;/SPAN&gt; PULLDOWN_ON&lt;SPAN class="punctuation token"&gt;)&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;;&lt;/SPAN&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; interrupt_setup&lt;SPAN class="punctuation token"&gt;.&lt;/SPAN&gt;int_handler&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN class="operator token"&gt;=&lt;/SPAN&gt; myInterrupt3&lt;SPAN class="punctuation token"&gt;;&lt;/SPAN&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; &lt;SPAN class="comment token"&gt;// handling function - called on high level sensitive state on PTC3&lt;/SPAN&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN class="token function"&gt;fnConfigureInterrupt&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;(&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;(&lt;/SPAN&gt;&lt;SPAN class="keyword token"&gt;void&lt;/SPAN&gt; &lt;SPAN class="operator token"&gt;*&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;)&lt;/SPAN&gt;&lt;SPAN class="operator token"&gt;&amp;amp;&lt;/SPAN&gt;interrupt_setup&lt;SPAN class="punctuation token"&gt;)&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;;&lt;/SPAN&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; &lt;SPAN class="comment token"&gt;// configure interrupt&lt;/SPAN&gt;
&lt;SPAN class="punctuation token"&gt;}&lt;/SPAN&gt;

&lt;SPAN class="comment token"&gt;// PTC1 interrupt call-back&lt;/SPAN&gt;
&lt;SPAN class="comment token"&gt;//&lt;/SPAN&gt;
&lt;SPAN class="keyword token"&gt;static&lt;/SPAN&gt; &lt;SPAN class="keyword token"&gt;void&lt;/SPAN&gt; &lt;SPAN class="token function"&gt;myInterrupt1&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;(&lt;/SPAN&gt;&lt;SPAN class="keyword token"&gt;void&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;)&lt;/SPAN&gt;
&lt;SPAN class="punctuation token"&gt;{&lt;/SPAN&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN class="comment token"&gt;// my code&lt;/SPAN&gt;
&lt;SPAN class="punctuation token"&gt;}&lt;/SPAN&gt;

&lt;SPAN class="comment token"&gt;// PTC2 interrupt call-back&lt;/SPAN&gt;
&lt;SPAN class="comment token"&gt;//&lt;/SPAN&gt;
&lt;SPAN class="keyword token"&gt;static&lt;/SPAN&gt; &lt;SPAN class="keyword token"&gt;void&lt;/SPAN&gt; &lt;SPAN class="token function"&gt;myInterrupt2&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;(&lt;/SPAN&gt;&lt;SPAN class="keyword token"&gt;void&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;)&lt;/SPAN&gt;
&lt;SPAN class="punctuation token"&gt;{&lt;/SPAN&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN class="comment token"&gt;// my code&lt;/SPAN&gt;
&lt;SPAN class="punctuation token"&gt;}&lt;/SPAN&gt;

&lt;SPAN class="comment token"&gt;// PTC3 interrupt call-back&lt;/SPAN&gt;
&lt;SPAN class="comment token"&gt;//&lt;/SPAN&gt;
&lt;SPAN class="keyword token"&gt;static&lt;/SPAN&gt; &lt;SPAN class="keyword token"&gt;void&lt;/SPAN&gt; &lt;SPAN class="token function"&gt;myInterrupt3&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;(&lt;/SPAN&gt;&lt;SPAN class="keyword token"&gt;void&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;)&lt;/SPAN&gt;
&lt;SPAN class="punctuation token"&gt;{&lt;/SPAN&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN class="comment token"&gt;// my code&lt;/SPAN&gt;
&lt;SPAN class="punctuation token"&gt;}&lt;/SPAN&gt;


&lt;SPAN class="line-numbers-rows"&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/CODE&gt;&lt;/PRE&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;This sets three different interrupts on Port C with their own characteristics and individual call-back handler (and can be used to enter DMA triggers or LLWUs). It also allows you to simulate the complete operation in the K64 simulator so that you can test complete code, interrupts, DMA etc. in order to avoid difficulties, to easily understand errors or learn the internal workings.&lt;/P&gt;&lt;P&gt;Unlike SDK any code that you write can be run on any Kinetis part (K, KL, KV, KM, KW) without needing porting and also builds with KDS3.x, CW10.x, IAR, Keil, Rowley, Atollic, Green Hills, CooCox, GCC, VisualStudio so is not restricted to particular environments.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Regards&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Mark&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;K64 support:&lt;/P&gt;&lt;P&gt;&lt;A class="link-titled" href="http://www.utasker.com/kinetis/FRDM-K64F.html" rel="nofollow noopener noreferrer" title="http://www.utasker.com/kinetis/FRDM-K64F.html" target="_blank"&gt;µTasker Kinetis FRDM-K64F support&lt;/A&gt;&amp;nbsp;&lt;BR /&gt;&lt;A class="link-titled" href="http://www.utasker.com/kinetis/TWR-K64F120M.html" rel="nofollow noopener noreferrer" title="http://www.utasker.com/kinetis/TWR-K64F120M.html" target="_blank"&gt;µTasker Kinetis TWR-K64F120M support&lt;/A&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;A class="link-titled" href="http://www.utasker.com/kinetis/TEENSY_3.5.html" rel="nofollow noopener noreferrer" title="http://www.utasker.com/kinetis/TEENSY_3.5.html" target="_blank"&gt;µTasker Teensy3.5 support&lt;/A&gt;&amp;nbsp;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 22 Dec 2016 22:24:37 GMT</pubDate>
      <guid>https://community.nxp.com/t5/Kinetis-Microcontrollers/FRDM-K64-and-GPIO-configuration-as-interrupt-input/m-p/635609#M38326</guid>
      <dc:creator>mjbcswitzerland</dc:creator>
      <dc:date>2016-12-22T22:24:37Z</dc:date>
    </item>
    <item>
      <title>Re: FRDM-K64 and GPIO configuration as interrupt input</title>
      <link>https://community.nxp.com/t5/Kinetis-Microcontrollers/FRDM-K64-and-GPIO-configuration-as-interrupt-input/m-p/635610#M38327</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi&lt;/P&gt;&lt;P&gt;Please enable the clock gate of PORTC first, and then configure the registers of PTC3.&lt;/P&gt;&lt;P&gt;CLOCK_EnableClock(kCLOCK_PortC);&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Can't see the BOARD_SLP_IRQ_HANDLER function, you can refer below:&lt;/P&gt;&lt;P&gt;void BOARD_SLP_IRQ_HANDLER(void)&lt;BR /&gt;{&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; /* Clear external interrupt flag. */&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; GPIO_ClearPinsInterruptFlags(BOARD_SLP_TR_GPIO, 1U &amp;lt;&amp;lt; BOARD_SLP_TR_GPIO_PIN);&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; /* Change state of button. */&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; g_ButtonPress = true;&lt;BR /&gt;}&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Can't see the in_config, you can refer below:&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; gpio_pin_config_t in_config = {&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; kGPIO_DigitalInput, 0,&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; };&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I'm using a FRDM-K64F board with SDK_2.1_FRDM-K64F and KDS 3.2.0.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Best Regards,&lt;/P&gt;&lt;P&gt;Robin&lt;/P&gt;&lt;P style="min- padding: 0px;"&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;-----------------------------------------------------------------------------------------------------------------------&lt;BR /&gt;Note: If this post answers your question, please click the Correct Answer button. Thank you!&lt;BR /&gt;---------------------------------------------------------------------------------------------------------------------&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 23 Dec 2016 04:43:25 GMT</pubDate>
      <guid>https://community.nxp.com/t5/Kinetis-Microcontrollers/FRDM-K64-and-GPIO-configuration-as-interrupt-input/m-p/635610#M38327</guid>
      <dc:creator>Robin_Shen</dc:creator>
      <dc:date>2016-12-23T04:43:25Z</dc:date>
    </item>
    <item>
      <title>Re: FRDM-K64 and GPIO configuration as interrupt input</title>
      <link>https://community.nxp.com/t5/Kinetis-Microcontrollers/FRDM-K64-and-GPIO-configuration-as-interrupt-input/m-p/1536912#M64166</link>
      <description>&lt;P&gt;Your answer helped me. I am using SDK example GPIO_Input_Interrupt. SW3 used to generate Interrupt&lt;/P&gt;&lt;P&gt;I want to know about the working or these three lines. PortClear and GpioClear (Difference between them)&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;#if (defined(FSL_FEATURE_PORT_HAS_NO_INTERRUPT) &amp;amp;&amp;amp; FSL_FEATURE_PORT_HAS_NO_INTERRUPT)&lt;/P&gt;&lt;P&gt;/* Clear external interrupt flag. */&lt;BR /&gt;GPIO_GpioClearInterruptFlags(BOARD_SW_GPIO, 1U &amp;lt;&amp;lt; BOARD_SW_GPIO_PIN);&lt;/P&gt;&lt;P&gt;#else&lt;BR /&gt;/* Clear external interrupt flag. */&lt;BR /&gt;GPIO_PortClearInterruptFlags(BOARD_SW_GPIO, 1U &amp;lt;&amp;lt; BOARD_SW_GPIO_PIN);&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Thu, 13 Oct 2022 07:27:36 GMT</pubDate>
      <guid>https://community.nxp.com/t5/Kinetis-Microcontrollers/FRDM-K64-and-GPIO-configuration-as-interrupt-input/m-p/1536912#M64166</guid>
      <dc:creator>abdurrehman98</dc:creator>
      <dc:date>2022-10-13T07:27:36Z</dc:date>
    </item>
  </channel>
</rss>

