<?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>MQX Software Solutions中的主题 Re: MQX GPIO setting quesion</title>
    <link>https://community.nxp.com/t5/MQX-Software-Solutions/MQX-GPIO-setting-quesion/m-p/237441#M6633</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;you have to issue the ioctl command or nothing gets done&lt;/P&gt;&lt;P&gt;for example: I am multiplexing my analog inputs and need to change the address selector through the GPIO.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;uint_32 unc500_scan_vinp(ADC_RESULT_STRUCT * result,uint_8 selector )&lt;/P&gt;&lt;P&gt;{&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; ADC_RESULT_STRUCT data;&lt;/P&gt;&lt;P&gt;&amp;nbsp; uint_32 err; &lt;/P&gt;&lt;P&gt;&amp;nbsp; if(selector &amp;amp; 1)&lt;/P&gt;&lt;P&gt;&amp;nbsp; a2d_input_slct[0] |= GPIO_PIN_STATUS_1;&lt;/P&gt;&lt;P&gt;&amp;nbsp; else&lt;/P&gt;&lt;P&gt;&amp;nbsp; a2d_input_slct[0] &amp;amp;= ~GPIO_PIN_STATUS_1;&lt;/P&gt;&lt;P&gt;&amp;nbsp; if(selector &amp;amp; 2)&lt;/P&gt;&lt;P&gt;&amp;nbsp; a2d_input_slct[1] |= GPIO_PIN_STATUS_1;&lt;/P&gt;&lt;P&gt;&amp;nbsp; else&lt;/P&gt;&lt;P&gt;&amp;nbsp; a2d_input_slct[1] &amp;amp;= ~GPIO_PIN_STATUS_1;&lt;/P&gt;&lt;P&gt;&amp;nbsp; if(selector &amp;amp; 4)&lt;/P&gt;&lt;P&gt;&amp;nbsp; a2d_input_slct[2] |= GPIO_PIN_STATUS_1;&lt;/P&gt;&lt;P&gt;&amp;nbsp; else&lt;/P&gt;&lt;P&gt;&amp;nbsp; a2d_input_slct[2] &amp;amp;= ~GPIO_PIN_STATUS_1;&lt;/P&gt;&lt;P&gt;&amp;nbsp; &lt;STRONG&gt;ioctl(a2d_selector_fh,GPIO_IOCTL_WRITE, (char_ptr) &amp;amp;a2d_input_slct);&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; ioctl(adc8_fh, IOCTL_ADC_FIRE_TRIGGER, (pointer) ADC_TRIGGER_8);&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; if (_lwevent_wait_ticks(&amp;amp;evn_vinp,1,TRUE,0) != MQX_OK) &lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; return FALSE;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; if (_lwevent_clear(&amp;amp;evn_vinp,0x01) != MQX_OK) &lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; return FALSE;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp; err = read(adc8_fh,&amp;amp; data, sizeof(data ));&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; result -&amp;gt; result = data.result;&lt;/P&gt;&lt;P&gt;&amp;nbsp; return err;&lt;/P&gt;&lt;P&gt;}&lt;/P&gt;&lt;P&gt;&lt;SPAN class="mce_paste_marker"&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Fri, 25 Jan 2013 20:29:27 GMT</pubDate>
    <dc:creator>drummer</dc:creator>
    <dc:date>2013-01-25T20:29:27Z</dc:date>
    <item>
      <title>MQX GPIO setting quesion</title>
      <link>https://community.nxp.com/t5/MQX-Software-Solutions/MQX-GPIO-setting-quesion/m-p/237440#M6632</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi All,&lt;/P&gt;&lt;P&gt;There is a question about GPIO setting.&lt;/P&gt;&lt;P&gt;I would like to open a gpio file containing pin setting. The code as below. After open the output_set, all of them are set as output, but the pin status only BSP_2972_STANDBY and BSP_2972_RST (D0,D7) are correct. In another words, BSP_9127_RST,BSP_HS_8524_MUTE,BSP_HS_8524_MODE (E24,E25,E26) are set as output LOW.(expect HIGH)&lt;/P&gt;&lt;P&gt;Why I can't control the pin status?&lt;/P&gt;&lt;P&gt;Thank you in advance.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Mini&lt;/P&gt;&lt;P&gt;&lt;SPAN class="mce_paste_marker"&gt;&lt;BR /&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;The environment is [MQX3.8.1] &amp;amp; [CW10.2].&lt;/P&gt;&lt;P&gt;The chip is K20DN512.&lt;/P&gt;&lt;P&gt;-----------------------------------------------------------------------&lt;/P&gt;&lt;P&gt;#define BSP_9127_RST&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; (GPIO_PORT_E | GPIO_PIN24)&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/P&gt;&lt;P&gt;#define BSP_2972_STANDBY&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; (GPIO_PORT_D | GPIO_PIN0)&lt;/P&gt;&lt;P&gt;#define BSP_2972_RST&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; (GPIO_PORT_D | GPIO_PIN7)&lt;/P&gt;&lt;P&gt;#define BSP_HS_8524_MUTE&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; (GPIO_PORT_E | GPIO_PIN25)&lt;/P&gt;&lt;P&gt;#define BSP_HS_8524_MODE&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; (GPIO_PORT_E | GPIO_PIN26)&lt;/P&gt;&lt;P&gt;-----------------------------------------------------------------------&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; GPIO_PIN_STRUCT output_set[] = {&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; BSP_9127_RST&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; | GPIO_PIN_STATUS_1,&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; BSP_2972_STANDBY&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; | GPIO_PIN_STATUS_0,&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; BSP_2972_RST&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; | GPIO_PIN_STATUS_1,&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; BSP_HS_8524_MUTE&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; | GPIO_PIN_STATUS_1,&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; BSP_HS_8524_MODE&amp;nbsp;&amp;nbsp;&amp;nbsp; | GPIO_PIN_STATUS_1,&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; GPIO_LIST_END&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; };&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; /* Open and set port pins as output */&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; output_port = fopen("gpio:write", (char_ptr) &amp;amp;output_set);&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; if (NULL == output_port)&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; printf("Open to output_port&amp;nbsp; failed.\n");&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&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;SPAN class="mce_paste_marker"&gt;&lt;BR /&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 25 Jan 2013 08:17:20 GMT</pubDate>
      <guid>https://community.nxp.com/t5/MQX-Software-Solutions/MQX-GPIO-setting-quesion/m-p/237440#M6632</guid>
      <dc:creator>miniwang</dc:creator>
      <dc:date>2013-01-25T08:17:20Z</dc:date>
    </item>
    <item>
      <title>Re: MQX GPIO setting quesion</title>
      <link>https://community.nxp.com/t5/MQX-Software-Solutions/MQX-GPIO-setting-quesion/m-p/237441#M6633</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;you have to issue the ioctl command or nothing gets done&lt;/P&gt;&lt;P&gt;for example: I am multiplexing my analog inputs and need to change the address selector through the GPIO.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;uint_32 unc500_scan_vinp(ADC_RESULT_STRUCT * result,uint_8 selector )&lt;/P&gt;&lt;P&gt;{&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; ADC_RESULT_STRUCT data;&lt;/P&gt;&lt;P&gt;&amp;nbsp; uint_32 err; &lt;/P&gt;&lt;P&gt;&amp;nbsp; if(selector &amp;amp; 1)&lt;/P&gt;&lt;P&gt;&amp;nbsp; a2d_input_slct[0] |= GPIO_PIN_STATUS_1;&lt;/P&gt;&lt;P&gt;&amp;nbsp; else&lt;/P&gt;&lt;P&gt;&amp;nbsp; a2d_input_slct[0] &amp;amp;= ~GPIO_PIN_STATUS_1;&lt;/P&gt;&lt;P&gt;&amp;nbsp; if(selector &amp;amp; 2)&lt;/P&gt;&lt;P&gt;&amp;nbsp; a2d_input_slct[1] |= GPIO_PIN_STATUS_1;&lt;/P&gt;&lt;P&gt;&amp;nbsp; else&lt;/P&gt;&lt;P&gt;&amp;nbsp; a2d_input_slct[1] &amp;amp;= ~GPIO_PIN_STATUS_1;&lt;/P&gt;&lt;P&gt;&amp;nbsp; if(selector &amp;amp; 4)&lt;/P&gt;&lt;P&gt;&amp;nbsp; a2d_input_slct[2] |= GPIO_PIN_STATUS_1;&lt;/P&gt;&lt;P&gt;&amp;nbsp; else&lt;/P&gt;&lt;P&gt;&amp;nbsp; a2d_input_slct[2] &amp;amp;= ~GPIO_PIN_STATUS_1;&lt;/P&gt;&lt;P&gt;&amp;nbsp; &lt;STRONG&gt;ioctl(a2d_selector_fh,GPIO_IOCTL_WRITE, (char_ptr) &amp;amp;a2d_input_slct);&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; ioctl(adc8_fh, IOCTL_ADC_FIRE_TRIGGER, (pointer) ADC_TRIGGER_8);&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; if (_lwevent_wait_ticks(&amp;amp;evn_vinp,1,TRUE,0) != MQX_OK) &lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; return FALSE;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; if (_lwevent_clear(&amp;amp;evn_vinp,0x01) != MQX_OK) &lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; return FALSE;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp; err = read(adc8_fh,&amp;amp; data, sizeof(data ));&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; result -&amp;gt; result = data.result;&lt;/P&gt;&lt;P&gt;&amp;nbsp; return err;&lt;/P&gt;&lt;P&gt;}&lt;/P&gt;&lt;P&gt;&lt;SPAN class="mce_paste_marker"&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 25 Jan 2013 20:29:27 GMT</pubDate>
      <guid>https://community.nxp.com/t5/MQX-Software-Solutions/MQX-GPIO-setting-quesion/m-p/237441#M6633</guid>
      <dc:creator>drummer</dc:creator>
      <dc:date>2013-01-25T20:29:27Z</dc:date>
    </item>
    <item>
      <title>Re: MQX GPIO setting quesion</title>
      <link>https://community.nxp.com/t5/MQX-Software-Solutions/MQX-GPIO-setting-quesion/m-p/237442#M6634</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Thanks Rick,&lt;/P&gt;&lt;P&gt;I can control the pin correct when using "ioctl".&amp;nbsp; the problem is when I wanna open a gpio file containing pin setting, some of the pins are not correct.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;There is a MQX bug I found (For Kinetis). For your reference.&lt;/P&gt;&lt;P&gt;in mqx\source\io\gpio\kgpio\io_gpio_kgpio.c&lt;/P&gt;&lt;P&gt;line number: 322&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN style="text-decoration: line-through;"&gt;uint_8&amp;nbsp;&amp;nbsp;&amp;nbsp; pin;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;It should be&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;STRONG&gt;uint_32 pin;&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;cause the width of the GPIO register is 32bits, if give it a byte, only bit 0~7 can work correctly.&lt;/P&gt;&lt;P&gt;that's why some of the pins are correct(D0,D7), and some of them(E24,E25,E26) are not.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 29 Jan 2013 02:56:55 GMT</pubDate>
      <guid>https://community.nxp.com/t5/MQX-Software-Solutions/MQX-GPIO-setting-quesion/m-p/237442#M6634</guid>
      <dc:creator>miniwang</dc:creator>
      <dc:date>2013-01-29T02:56:55Z</dc:date>
    </item>
    <item>
      <title>Re: MQX GPIO setting quesion</title>
      <link>https://community.nxp.com/t5/MQX-Software-Solutions/MQX-GPIO-setting-quesion/m-p/237443#M6635</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hello Mini Wang,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;We will investigate it, however it seems to be obviously incorrectly defined. Thank you for reporting the bug.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Regards,&lt;/P&gt;&lt;P&gt;MartinK&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 29 Jan 2013 06:28:54 GMT</pubDate>
      <guid>https://community.nxp.com/t5/MQX-Software-Solutions/MQX-GPIO-setting-quesion/m-p/237443#M6635</guid>
      <dc:creator>c0170</dc:creator>
      <dc:date>2013-01-29T06:28:54Z</dc:date>
    </item>
  </channel>
</rss>

