<?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: Delay after PSOR/PCOR?</title>
    <link>https://community.nxp.com/t5/Kinetis-Microcontrollers/Delay-after-PSOR-PCOR/m-p/664174#M40818</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Thanks Mark!&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I'll take a further look at your document.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Can you, in simple terms, explain the difference between driving the columns high (like I do) or driving it low (like you do)? (In a keyboard matrix scanning context)&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Thu, 29 Sep 2016 22:58:48 GMT</pubDate>
    <dc:creator>joeygouly</dc:creator>
    <dc:date>2016-09-29T22:58:48Z</dc:date>
    <item>
      <title>Delay after PSOR/PCOR?</title>
      <link>https://community.nxp.com/t5/Kinetis-Microcontrollers/Delay-after-PSOR-PCOR/m-p/664172#M40816</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 scanning a matrix, and my code looks like:&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;for (c = 0; c &amp;lt; columns; ++c) {&lt;BR /&gt;&amp;nbsp; columns[c].set_high(); // PSOR&lt;BR /&gt;&amp;nbsp; for (r = 0; r &amp;lt; rows; ++r) {&lt;BR /&gt;&amp;nbsp; &amp;nbsp; int x = rows[r].read();&lt;BR /&gt;&amp;nbsp; }&lt;BR /&gt;&amp;nbsp; columns[c].set_low(); // PCOR&lt;BR /&gt;}&lt;BR /&gt;&lt;BR /&gt;However, I've found that I needed a few ms delay after 'set_low', otherwise it looks like 2 columns can be on at once.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Is there a 'proper' way to accomplish this? The ms delay feels very hacky.&lt;/P&gt;&lt;P&gt;I'm using the MKL27Z.&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;Joey&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 29 Sep 2016 20:15:42 GMT</pubDate>
      <guid>https://community.nxp.com/t5/Kinetis-Microcontrollers/Delay-after-PSOR-PCOR/m-p/664172#M40816</guid>
      <dc:creator>joeygouly</dc:creator>
      <dc:date>2016-09-29T20:15:42Z</dc:date>
    </item>
    <item>
      <title>Re: Delay after PSOR/PCOR?</title>
      <link>https://community.nxp.com/t5/Kinetis-Microcontrollers/Delay-after-PSOR-PCOR/m-p/664173#M40817</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi Joey&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;See: &lt;/SPAN&gt;&lt;A class="jive-link-external-small" href="https://community.nxp.com/external-link.jspa?url=http%3A%2F%2Fwww.utasker.com%2Fdocs%2FuTasker%2FuTaskerKeypad.PDF" rel="nofollow" target="_blank"&gt;http://www.utasker.com/docs/uTasker/uTaskerKeypad.PDF&lt;/A&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;You can check the HW that you have against its reference, and also note that in order to reduce/erradicate the effects of RC charge times on the lines it is recommended to briefly "drive" the input (set as output state and back to input) to set/discharge the 'open' state, Then there will be no need for delays.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Regards&lt;/P&gt;&lt;P&gt;&lt;BR /&gt;Mark&lt;BR /&gt;&lt;SPAN&gt;Kinetis for professionals: &lt;/SPAN&gt;&lt;A class="jive-link-external-small" href="https://community.nxp.com/external-link.jspa?url=http%3A%2F%2Fwww.utasker.com%2Fkinetis.html" rel="nofollow" target="_blank"&gt;http://www.utasker.com/kinetis.html&lt;/A&gt;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 29 Sep 2016 20:48:05 GMT</pubDate>
      <guid>https://community.nxp.com/t5/Kinetis-Microcontrollers/Delay-after-PSOR-PCOR/m-p/664173#M40817</guid>
      <dc:creator>mjbcswitzerland</dc:creator>
      <dc:date>2016-09-29T20:48:05Z</dc:date>
    </item>
    <item>
      <title>Re: Delay after PSOR/PCOR?</title>
      <link>https://community.nxp.com/t5/Kinetis-Microcontrollers/Delay-after-PSOR-PCOR/m-p/664174#M40818</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Thanks Mark!&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I'll take a further look at your document.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Can you, in simple terms, explain the difference between driving the columns high (like I do) or driving it low (like you do)? (In a keyboard matrix scanning context)&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 29 Sep 2016 22:58:48 GMT</pubDate>
      <guid>https://community.nxp.com/t5/Kinetis-Microcontrollers/Delay-after-PSOR-PCOR/m-p/664174#M40818</guid>
      <dc:creator>joeygouly</dc:creator>
      <dc:date>2016-09-29T22:58:48Z</dc:date>
    </item>
    <item>
      <title>Re: Delay after PSOR/PCOR?</title>
      <link>https://community.nxp.com/t5/Kinetis-Microcontrollers/Delay-after-PSOR-PCOR/m-p/664175#M40819</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Joey&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I thnk that it is just a polarity thing - if you have pull-downs on inputs the 'floating' state is '0' so to discharge, one drives (very briefly) to '0'. If the pull-ups are to '1' (as in my reference) the opposite is true. Both are correct...one detects '1' as 'preseed and the other '0' as pressed.&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;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 29 Sep 2016 23:22:14 GMT</pubDate>
      <guid>https://community.nxp.com/t5/Kinetis-Microcontrollers/Delay-after-PSOR-PCOR/m-p/664175#M40819</guid>
      <dc:creator>mjbcswitzerland</dc:creator>
      <dc:date>2016-09-29T23:22:14Z</dc:date>
    </item>
  </channel>
</rss>

