<?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>i.MX RT Crossover MCUsのトピックimx rt1064 pull down input on GPIO_SD_B0_00</title>
    <link>https://community.nxp.com/t5/i-MX-RT-Crossover-MCUs/imx-rt1064-pull-down-input-on-GPIO-SD-B0-00/m-p/1426249#M18713</link>
    <description>&lt;P&gt;Hi,&lt;/P&gt;&lt;P&gt;I have an unconnected pin,&amp;nbsp;GPIO_SD_B0_00.&amp;nbsp; I am setting it up as an input with a 100k pull down, but when I read this pin (using GPIO_PinRead() or reading GPIO3-&amp;gt;DR), the value is always high.&amp;nbsp; In this case, since a pulldown is applied, I would expect the pin to read low.&lt;/P&gt;&lt;P&gt;When configuring a pull up, it reads high.&lt;/P&gt;&lt;P&gt;I did the same test on another unconnected pin, GPIO_B0_00, and this pin worked as expected (ie. when using a pull down, the pin read low, and when using a pull up, the pin read high).&lt;/P&gt;&lt;P&gt;As far as I know, the only difference between these pins is that GPIO_SD_B0_00 runs at 1.8V, whereas the other runs at 3.3V.&lt;/P&gt;&lt;P&gt;In the code below, I am changing the pullup/pulldown.&amp;nbsp; I have also tried setting a pulldown in the initial config, but that did not work either on the&amp;nbsp;GPIO_SD_B0_00 pin.&amp;nbsp; The sample code works as expected when using pin&amp;nbsp;GPIO_B0_00.&lt;/P&gt;&lt;P&gt;Sample code:&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;LI-CODE lang="c"&gt;uint8_t readVal = 0U;
	// enable 100k pullup on pin
	IOMUXC_SetPinConfig(IOMUXC_GPIO_SD_B0_00_GPIO3_IO12, 0xB0B0U);
	// wait for change to complete by checking the register written to by previous line
	while(*((volatile uint32_t *)0x401F83ACU) != 0xB0B0)
	{

	}
	if(GPIO_PinRead(GPIO3, 12))
	{
		readVal |= 1;
	}

	// enable 100k pulldown on pin
	IOMUXC_SetPinConfig(IOMUXC_GPIO_SD_B0_00_GPIO3_IO12, 0x30B0U);
	// wait for change to complete by checking the register written to by previous line
	while(*((volatile uint32_t *)0x401F83ACU) != 0x30B0U)
	{

	}
	if(GPIO_PinRead(GPIO3, 12))
	{
		readVal |= (1 &amp;lt;&amp;lt; 1);
	}&lt;/LI-CODE&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
    <pubDate>Thu, 10 Mar 2022 15:11:49 GMT</pubDate>
    <dc:creator>superspud9</dc:creator>
    <dc:date>2022-03-10T15:11:49Z</dc:date>
    <item>
      <title>imx rt1064 pull down input on GPIO_SD_B0_00</title>
      <link>https://community.nxp.com/t5/i-MX-RT-Crossover-MCUs/imx-rt1064-pull-down-input-on-GPIO-SD-B0-00/m-p/1426249#M18713</link>
      <description>&lt;P&gt;Hi,&lt;/P&gt;&lt;P&gt;I have an unconnected pin,&amp;nbsp;GPIO_SD_B0_00.&amp;nbsp; I am setting it up as an input with a 100k pull down, but when I read this pin (using GPIO_PinRead() or reading GPIO3-&amp;gt;DR), the value is always high.&amp;nbsp; In this case, since a pulldown is applied, I would expect the pin to read low.&lt;/P&gt;&lt;P&gt;When configuring a pull up, it reads high.&lt;/P&gt;&lt;P&gt;I did the same test on another unconnected pin, GPIO_B0_00, and this pin worked as expected (ie. when using a pull down, the pin read low, and when using a pull up, the pin read high).&lt;/P&gt;&lt;P&gt;As far as I know, the only difference between these pins is that GPIO_SD_B0_00 runs at 1.8V, whereas the other runs at 3.3V.&lt;/P&gt;&lt;P&gt;In the code below, I am changing the pullup/pulldown.&amp;nbsp; I have also tried setting a pulldown in the initial config, but that did not work either on the&amp;nbsp;GPIO_SD_B0_00 pin.&amp;nbsp; The sample code works as expected when using pin&amp;nbsp;GPIO_B0_00.&lt;/P&gt;&lt;P&gt;Sample code:&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;LI-CODE lang="c"&gt;uint8_t readVal = 0U;
	// enable 100k pullup on pin
	IOMUXC_SetPinConfig(IOMUXC_GPIO_SD_B0_00_GPIO3_IO12, 0xB0B0U);
	// wait for change to complete by checking the register written to by previous line
	while(*((volatile uint32_t *)0x401F83ACU) != 0xB0B0)
	{

	}
	if(GPIO_PinRead(GPIO3, 12))
	{
		readVal |= 1;
	}

	// enable 100k pulldown on pin
	IOMUXC_SetPinConfig(IOMUXC_GPIO_SD_B0_00_GPIO3_IO12, 0x30B0U);
	// wait for change to complete by checking the register written to by previous line
	while(*((volatile uint32_t *)0x401F83ACU) != 0x30B0U)
	{

	}
	if(GPIO_PinRead(GPIO3, 12))
	{
		readVal |= (1 &amp;lt;&amp;lt; 1);
	}&lt;/LI-CODE&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Thu, 10 Mar 2022 15:11:49 GMT</pubDate>
      <guid>https://community.nxp.com/t5/i-MX-RT-Crossover-MCUs/imx-rt1064-pull-down-input-on-GPIO-SD-B0-00/m-p/1426249#M18713</guid>
      <dc:creator>superspud9</dc:creator>
      <dc:date>2022-03-10T15:11:49Z</dc:date>
    </item>
    <item>
      <title>Re: imx rt1064 pull down input on GPIO_SD_B0_00</title>
      <link>https://community.nxp.com/t5/i-MX-RT-Crossover-MCUs/imx-rt1064-pull-down-input-on-GPIO-SD-B0-00/m-p/1426293#M18716</link>
      <description>&lt;P&gt;This is a non-issue.&amp;nbsp; Our 1.8v supply was not turned on when I was trying to make use of these pins, turning on the supply now lets the 1.8v pin behave as expected&lt;/P&gt;</description>
      <pubDate>Thu, 10 Mar 2022 16:22:05 GMT</pubDate>
      <guid>https://community.nxp.com/t5/i-MX-RT-Crossover-MCUs/imx-rt1064-pull-down-input-on-GPIO-SD-B0-00/m-p/1426293#M18716</guid>
      <dc:creator>superspud9</dc:creator>
      <dc:date>2022-03-10T16:22:05Z</dc:date>
    </item>
  </channel>
</rss>

