<?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: K64F GPIO API in MCUXpresso General</title>
    <link>https://community.nxp.com/t5/MCUXpresso-General/K64F-GPIO-API/m-p/799324#M693</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hello Alice&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt; &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I have slightly different "Bits1_PutVal()" version&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt; &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt; &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt; &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Based on my version, I prepared my function equivalent to Bits1_PutVal().&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt; &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;while(1)&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      {&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;            Bits1_PutVal(Data[k % 8]);&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;            k++;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;            DELAY&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      }&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt; &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;/***************************************************************&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Functions Code ****************************************************************/&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;void Bits1_PutVal(uint32_t Val){&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      RawVal = Val &amp;amp; Bits1_PORT_VALID_VALUE_MASK; /* Mask output value */&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt; &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;//    PDI_Val = GPIO_PinRead(GPIOD, 0);&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      PDI_Val = GPIOD-&amp;gt;PDIR;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      TogVal  = PDI_Val ^ RawVal;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      GPIO_PortToggle(GPIOD, TogVal);&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;}&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt; &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt; &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;The concept is working fine, but I have a problem with the "GPIO_PinRead()" function.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Probably the reason is that I don't know how to use it case case that I want to read the whole port and not  a single pin.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I bypassed this with "GPIO-&amp;gt;PDIR".&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Can you please provide a solution how to use "GPIO_PinRead()" instead of GPIO-&amp;gt;PDIR&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt; &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Thanks&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Shaul&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Sun, 30 Sep 2018 16:15:24 GMT</pubDate>
    <dc:creator>shauldorf</dc:creator>
    <dc:date>2018-09-30T16:15:24Z</dc:date>
    <item>
      <title>K64F GPIO API</title>
      <link>https://community.nxp.com/t5/MCUXpresso-General/K64F-GPIO-API/m-p/799320#M689</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P style="margin: 0cm 0cm 8pt;"&gt;&lt;SPAN style="color: black;"&gt;I'm trying to migrate my old project implemented in KDS3.2 (with PE) to MCUXpresso.&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="margin: 0cm 0cm 8pt;"&gt;&lt;SPAN style="color: black;"&gt;Using Bits1_PutVal(Bits1_Ptr…… instructions I have delayed "Low" sequence between four Outputs.&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="margin: 0cm 0cm 8pt;"&gt;&lt;/P&gt;&lt;P style="margin: 0cm 0cm 8pt;"&gt;&lt;SPAN style="color: black;"&gt;As a test case I prepared small direct register access program which is working well&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="margin: 0cm 0cm 0pt;"&gt;&lt;SPAN style="color: black; font-size: 10pt;"&gt;While(1)&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="margin: 0cm 0cm 0pt;"&gt;&lt;SPAN style="color: black; font-size: 10pt;"&gt;{&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="margin: 0cm 0cm 0pt 36pt;"&gt;&lt;SPAN style="color: black; font-size: 10pt;"&gt;GPIOD-&amp;gt;PDOR = 0x1;&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="margin: 0cm 0cm 0pt 36pt;"&gt;&lt;SPAN style="color: black; font-size: 10pt;"&gt;DELAY;&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="margin: 0cm 0cm 0pt 36pt;"&gt;&lt;SPAN style="color: black; font-size: 10pt;"&gt;GPIOD-&amp;gt;PDOR = 0x2;&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="margin: 0cm 0cm 0pt 36pt;"&gt;&lt;SPAN style="color: black; font-size: 10pt;"&gt;DELAY;&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="margin: 0cm 0cm 0pt 36pt;"&gt;&lt;SPAN style="color: black; font-size: 10pt;"&gt;GPIOD-&amp;gt;PDOR = 0x4;&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="margin: 0cm 0cm 0pt 36pt;"&gt;&lt;SPAN style="color: black; font-size: 10pt;"&gt;DELAY;&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="margin: 0cm 0cm 0pt 36pt;"&gt;&lt;SPAN style="color: black; font-size: 10pt;"&gt;GPIOD-&amp;gt;PDOR = 0x8;&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="margin: 0cm 0cm 0pt 36pt;"&gt;&lt;SPAN style="color: black; font-size: 10pt;"&gt;DELAY;&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="margin: 0cm 0cm 0pt;"&gt;&lt;SPAN style="color: black;"&gt;}&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="margin: 0cm 0cm 8pt;"&gt;&lt;SPAN style="color: black;"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="margin: 0cm 0cm 8pt;"&gt;&lt;SPAN style="color: black;"&gt;When I tried to implement the above using API the only solution that I found is adding additional &lt;/SPAN&gt;&lt;SPAN style="color: black; font-size: 10pt;"&gt;GPIO_ClearPinsOutput() which clears all outputs &lt;/SPAN&gt;&lt;/P&gt;&lt;P style="margin: 0cm 0cm 0pt;"&gt;&lt;SPAN style="color: black; font-size: 10pt;"&gt;While(1)&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="margin: 0cm 0cm 0pt;"&gt;&lt;SPAN style="color: black; font-size: 10pt;"&gt;{&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="margin: 0cm 0cm 0pt 36pt;"&gt;&lt;SPAN style="color: black; font-size: 10pt;"&gt;GPIO_SetPinsOutput(GPIOD, 0x1);&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="margin: 0cm 0cm 0pt 36pt;"&gt;&lt;SPAN style="color: black; font-size: 10pt;"&gt;DELAY;&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="margin: 0cm 0cm 0pt 36pt;"&gt;&lt;SPAN style="color: black; font-size: 10pt;"&gt;GPIO_ClearPinsOutput(GPIOD, 0x1);&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="margin: 0cm 0cm 0pt 36pt;"&gt;&lt;SPAN style="color: black; font-size: 10pt;"&gt;GPIO_SetPinsOutput(GPIOD, 0x2);&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="margin: 0cm 0cm 0pt 36pt;"&gt;&lt;SPAN style="color: black; font-size: 10pt;"&gt;DELAY;&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="margin: 0cm 0cm 0pt 36pt;"&gt;&lt;SPAN style="color: black; font-size: 10pt;"&gt;GPIO_ClearPinsOutput(GPIOD, 0x2);&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="margin: 0cm 0cm 0pt 36pt;"&gt;&lt;SPAN style="color: black; font-size: 10pt;"&gt;GPIO_SetPinsOutput(GPIOD, 0x4);&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="margin: 0cm 0cm 0pt 36pt;"&gt;&lt;SPAN style="color: black; font-size: 10pt;"&gt;DELAY;&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="margin: 0cm 0cm 0pt 36pt;"&gt;&lt;SPAN style="color: black; font-size: 10pt;"&gt;GPIO_ClearPinsOutput(GPIOD, 0x4);&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="margin: 0cm 0cm 0pt 36pt;"&gt;&lt;SPAN style="color: black; font-size: 10pt;"&gt;GPIO_SetPinsOutput(GPIOD, 0x8);&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="margin: 0cm 0cm 0pt 36pt;"&gt;&lt;SPAN style="color: black; font-size: 10pt;"&gt;DELAY;&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="margin: 0cm 0cm 0pt 36pt;"&gt;&lt;SPAN style="color: black; font-size: 10pt;"&gt;GPIO_ClearPinsOutput(GPIOD, 0x8);&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="margin: 0cm 0cm 0pt;"&gt;&lt;SPAN style="color: black; font-size: 10pt;"&gt;}&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="margin: 0cm 0cm 0pt;"&gt;&lt;SPAN style="color: black; font-size: 10pt;"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="margin: 0cm 0cm 0pt;"&gt;&lt;SPAN style="color: black; font-size: 10pt;"&gt;GPIO_ClearPinsOutput clears all outputs for about 0.5 usec which is not acceptable.&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="margin: 0cm 0cm 0pt;"&gt;&lt;SPAN style="color: black; font-size: 10pt;"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="margin: 0cm 0cm 0pt;"&gt;&lt;SPAN style="color: black; font-size: 10pt;"&gt;The question is if I missed something in fsl_gpio.h &amp;nbsp; API? &lt;/SPAN&gt;&lt;/P&gt;&lt;P style="margin: 0cm 0cm 0pt;"&gt;&lt;/P&gt;&lt;P style="margin: 0cm 0cm 0pt;"&gt;&lt;SPAN style="color: black; font-size: 10pt;"&gt;Thanks&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="margin: 0cm 0cm 0pt;"&gt;&lt;SPAN style="color: black; font-size: 10pt;"&gt;Shaul&lt;/SPAN&gt;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 27 Sep 2018 08:28:13 GMT</pubDate>
      <guid>https://community.nxp.com/t5/MCUXpresso-General/K64F-GPIO-API/m-p/799320#M689</guid>
      <dc:creator>shauldorf</dc:creator>
      <dc:date>2018-09-27T08:28:13Z</dc:date>
    </item>
    <item>
      <title>Re: K64F GPIO API</title>
      <link>https://community.nxp.com/t5/MCUXpresso-General/K64F-GPIO-API/m-p/799321#M690</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hello &lt;SPAN style="color: black; font-size: 10pt;"&gt;Shaul&lt;/SPAN&gt;,&lt;/P&gt;&lt;P&gt;- Sorry I can't understand your problem clearly, I checked your code ,&lt;/P&gt;&lt;P&gt;set one pin to 1, after delay , then clear it to 0,&amp;nbsp; is this what you want ?&lt;/P&gt;&lt;P&gt;- About "&lt;SPAN style="color: black; font-size: 10pt;"&gt;GPIO_ClearPinsOutput clears all outputs for about 0.5 usec &lt;/SPAN&gt;",&amp;nbsp; so , what do you&amp;nbsp; think is right ?&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;BR&lt;/P&gt;&lt;P&gt;Alice&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 28 Sep 2018 03:11:04 GMT</pubDate>
      <guid>https://community.nxp.com/t5/MCUXpresso-General/K64F-GPIO-API/m-p/799321#M690</guid>
      <dc:creator>Alice_Yang</dc:creator>
      <dc:date>2018-09-28T03:11:04Z</dc:date>
    </item>
    <item>
      <title>Re: K64F GPIO API</title>
      <link>https://community.nxp.com/t5/MCUXpresso-General/K64F-GPIO-API/m-p/799322#M691</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hello Alice&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Using Xpresso I have tested two alternatives&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;1.	Direct register access (no SDK API)&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;In this case I have a sequence of  GPIOD-&amp;gt;PDOR  instructions.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Using logic analyzer the resulted waveforms looks O.K there is no "low" gap in transition between the states.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;2.	Using API (fsl_gpio.h and fsl_gpio.c) &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;In my solution I am using a sequence of GPIO_SetPinsOutput(), DELAY and GPIO_ClearPinsOutput(). &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Here using GPIO_ClearPinsOutput() generates a gap of 0.5 usec between transmission from one state to another and in my case is unaceptable.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt; &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I my original old project I used KDS3.2 + KSDK 1.3 (with PE).&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;In that case I used Bits1_PutVal(Bits1_Ptr……) API  instructions.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt; &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I checked and I didn't fined something equivalent in MCUXpresso SDK API.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;And for this reason I'm using direct register access.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt; &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;The question is if I missed something in a new API when I tried to use GPIO_WritePinOutput() or  GPIO_PinWrite() thinking that they are equivalent to Bits1_PutVal( ).&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt; &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Thanks&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Shaul&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 28 Sep 2018 06:28:31 GMT</pubDate>
      <guid>https://community.nxp.com/t5/MCUXpresso-General/K64F-GPIO-API/m-p/799322#M691</guid>
      <dc:creator>shauldorf</dc:creator>
      <dc:date>2018-09-28T06:28:31Z</dc:date>
    </item>
    <item>
      <title>Re: K64F GPIO API</title>
      <link>https://community.nxp.com/t5/MCUXpresso-General/K64F-GPIO-API/m-p/799323#M692</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hello shaul,&lt;/P&gt;&lt;P&gt;Thanks for your description, I check the code , there is no difference between the two functions,&lt;/P&gt;&lt;P&gt;all configure the two regsiters "PCOR" and "PSOR"&lt;/P&gt;&lt;P&gt;In Processor Expert of KDS:&lt;/P&gt;&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper" image-alt="pastedImage_1.png"&gt;&lt;img src="https://community.nxp.com/t5/image/serverpage/image-id/74137iFCB289EA1CE979B9/image-size/large?v=v2&amp;amp;px=999" role="button" title="pastedImage_1.png" alt="pastedImage_1.png" /&gt;&lt;/span&gt;&lt;/P&gt;&lt;P&gt;In SDK:&lt;/P&gt;&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper" image-alt="pastedImage_2.png"&gt;&lt;img src="https://community.nxp.com/t5/image/serverpage/image-id/74181iDDB07AE8C48C6E4A/image-size/large?v=v2&amp;amp;px=999" role="button" title="pastedImage_2.png" alt="pastedImage_2.png" /&gt;&lt;/span&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;BR&lt;/P&gt;&lt;P&gt;Alice&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Sat, 29 Sep 2018 08:11:54 GMT</pubDate>
      <guid>https://community.nxp.com/t5/MCUXpresso-General/K64F-GPIO-API/m-p/799323#M692</guid>
      <dc:creator>Alice_Yang</dc:creator>
      <dc:date>2018-09-29T08:11:54Z</dc:date>
    </item>
    <item>
      <title>Re: K64F GPIO API</title>
      <link>https://community.nxp.com/t5/MCUXpresso-General/K64F-GPIO-API/m-p/799324#M693</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hello Alice&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt; &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I have slightly different "Bits1_PutVal()" version&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt; &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt; &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt; &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Based on my version, I prepared my function equivalent to Bits1_PutVal().&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt; &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;while(1)&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      {&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;            Bits1_PutVal(Data[k % 8]);&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;            k++;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;            DELAY&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      }&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt; &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;/***************************************************************&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Functions Code ****************************************************************/&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;void Bits1_PutVal(uint32_t Val){&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      RawVal = Val &amp;amp; Bits1_PORT_VALID_VALUE_MASK; /* Mask output value */&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt; &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;//    PDI_Val = GPIO_PinRead(GPIOD, 0);&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      PDI_Val = GPIOD-&amp;gt;PDIR;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      TogVal  = PDI_Val ^ RawVal;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      GPIO_PortToggle(GPIOD, TogVal);&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;}&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt; &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt; &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;The concept is working fine, but I have a problem with the "GPIO_PinRead()" function.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Probably the reason is that I don't know how to use it case case that I want to read the whole port and not  a single pin.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I bypassed this with "GPIO-&amp;gt;PDIR".&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Can you please provide a solution how to use "GPIO_PinRead()" instead of GPIO-&amp;gt;PDIR&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt; &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Thanks&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Shaul&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Sun, 30 Sep 2018 16:15:24 GMT</pubDate>
      <guid>https://community.nxp.com/t5/MCUXpresso-General/K64F-GPIO-API/m-p/799324#M693</guid>
      <dc:creator>shauldorf</dc:creator>
      <dc:date>2018-09-30T16:15:24Z</dc:date>
    </item>
    <item>
      <title>Re: K64F GPIO API</title>
      <link>https://community.nxp.com/t5/MCUXpresso-General/K64F-GPIO-API/m-p/799325#M694</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hello Shaul ,&lt;/P&gt;&lt;P&gt;Sorry there isn't a SDK API to read whole port , you can directly read register GPIO-&amp;gt;PDIR .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;BR&lt;/P&gt;&lt;P&gt;Alice&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Mon, 08 Oct 2018 03:02:34 GMT</pubDate>
      <guid>https://community.nxp.com/t5/MCUXpresso-General/K64F-GPIO-API/m-p/799325#M694</guid>
      <dc:creator>Alice_Yang</dc:creator>
      <dc:date>2018-10-08T03:02:34Z</dc:date>
    </item>
  </channel>
</rss>

