<?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>LPC Microcontrollers中的主题 Re: USB isochronous EP stuck</title>
    <link>https://community.nxp.com/t5/LPC-Microcontrollers/USB-isochronous-EP-stuck/m-p/704836#M28390</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Finally I get know, that Interrupts disabling and reenabling causes this problem&lt;/P&gt;&lt;BLOCKQUOTE class="jive_macro_quote jive-quote jive_text_macro"&gt;&lt;P&gt;&lt;SPAN style="color: #092e64; border: 0px; font-weight: inherit;"&gt;interruptMask&lt;/SPAN&gt;&lt;SPAN style="color: #c0c0c0; border: 0px; font-weight: inherit;"&gt; &lt;/SPAN&gt;=&lt;SPAN style="color: #c0c0c0; border: 0px; font-weight: inherit;"&gt; &lt;/SPAN&gt;&lt;SPAN style="color: #092e64; border: 0px; font-weight: inherit;"&gt;lpc3511IpState&lt;/SPAN&gt;-&amp;gt;&lt;SPAN style="color: #800000; border: 0px; font-weight: inherit;"&gt;registerBase&lt;/SPAN&gt;-&amp;gt;&lt;SPAN style="color: #800000; border: 0px; font-weight: inherit;"&gt;INTEN&lt;/SPAN&gt;;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="color: #092e64; border: 0px; font-weight: inherit;"&gt;lpc3511IpState&lt;/SPAN&gt;-&amp;gt;&lt;SPAN style="color: #800000; border: 0px; font-weight: inherit;"&gt;registerBase&lt;/SPAN&gt;-&amp;gt;&lt;SPAN style="color: #800000; border: 0px; font-weight: inherit;"&gt;INTEN&lt;/SPAN&gt;&lt;SPAN style="color: #c0c0c0; border: 0px; font-weight: inherit;"&gt; &lt;/SPAN&gt;=&lt;SPAN style="color: #c0c0c0; border: 0px; font-weight: inherit;"&gt; &lt;/SPAN&gt;&lt;SPAN style="color: #000080; border: 0px; font-weight: inherit;"&gt;0&lt;/SPAN&gt;;&lt;/P&gt;&lt;P&gt;...&lt;/P&gt;&lt;P&gt;&lt;SPAN style="color: #092e64; border: 0px; font-weight: inherit;"&gt;lpc3511IpState&lt;/SPAN&gt;-&amp;gt;&lt;SPAN style="color: #800000; border: 0px; font-weight: inherit;"&gt;registerBase&lt;/SPAN&gt;-&amp;gt;&lt;SPAN style="color: #800000; border: 0px; font-weight: inherit;"&gt;INTEN&lt;/SPAN&gt;&lt;SPAN style="color: #c0c0c0; border: 0px; font-weight: inherit;"&gt; &lt;/SPAN&gt;=&lt;SPAN style="color: #c0c0c0; border: 0px; font-weight: inherit;"&gt; &lt;/SPAN&gt;&lt;SPAN style="color: #092e64; border: 0px; font-weight: inherit;"&gt;interruptMask&lt;/SPAN&gt;;&lt;/P&gt;&lt;/BLOCKQUOTE&gt;&lt;P&gt;If enable this code for&amp;nbsp;single buffer configuration it will also cause same problem.&lt;/P&gt;&lt;P&gt;For now I tried to remove this lines, as single buffering scheme&amp;nbsp;does not use it, and my code worked without EP stuck for 2 hours.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;Question to NXP&lt;/STRONG&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI&gt;For what purpose interrupt disabling added to double buffer scheme?&lt;/LI&gt;&lt;LI&gt;Why it is not used in single buffer scheme?&lt;/LI&gt;&lt;LI&gt;Why it leads to miss of input packet interrupt? In my understanding disabled interrupt means that bit in status register should be able to be set by HW by incoming packet and it will still generate interrupt&amp;nbsp;immediatly after&amp;nbsp;set of corresponding INTEN bit.&lt;/LI&gt;&lt;/UL&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Wed, 18 Oct 2017 21:16:39 GMT</pubDate>
    <dc:creator>mstumbra</dc:creator>
    <dc:date>2017-10-18T21:16:39Z</dc:date>
    <item>
      <title>USB isochronous EP stuck</title>
      <link>https://community.nxp.com/t5/LPC-Microcontrollers/USB-isochronous-EP-stuck/m-p/704834#M28388</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi&lt;/P&gt;&lt;P&gt;I have LPC54608 Dev Board and implementing USB async Audio device using SDK v2.2.0&lt;/P&gt;&lt;P&gt;Device have 2 audio streaming interfaces, one for playback, second for recording from line in of board&lt;/P&gt;&lt;P&gt;If I play music from PC everything seems to work fine for hours.&lt;/P&gt;&lt;P&gt;But when I enable recording interface(start recording on PC side), after ~20-300 seconds music playback stops.&lt;/P&gt;&lt;P&gt;I am debugging this problem currently, but your advises may be helpful.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Here is what I have found for now:&lt;/P&gt;&lt;UL&gt;&lt;LI&gt;Via hardware USB sniffer found out that actually audio data packets actually &lt;SPAN class="" lang="en"&gt;&lt;SPAN class=""&gt;continue to be sent&lt;/SPAN&gt;&lt;/SPAN&gt; to isochronous OUT EP. PC even don't knows that something goes wrong;&lt;/LI&gt;&lt;LI&gt;USB Interrupt for incoming audio packet not generated anymore after such fault(all other, including packet sent interrupt flag generated as should);&lt;/LI&gt;&lt;LI&gt;Music stop and start again(actually performs set interface=0 and set interface=1 packets) makes playback work again&amp;nbsp; until next same fault;&lt;/LI&gt;&lt;LI&gt;All subsequent calls to &lt;SPAN style="color: #00677c;"&gt;USB_DeviceAudioRecv &lt;/SPAN&gt;after such faults always returns by&lt;BLOCKQUOTE class="jive_macro_quote jive-quote jive_text_macro"&gt;&lt;PRE style="-qt-block-indent: 0; text-indent: 0px; margin: 0px;"&gt;&lt;SPAN style="color: #808000;"&gt;if&lt;/SPAN&gt;&lt;SPAN style="color: #c0c0c0;"&gt; &lt;/SPAN&gt;(&lt;SPAN style="color: #092e64;"&gt;audioHandle&lt;/SPAN&gt;-&amp;gt;&lt;SPAN style="color: #800000;"&gt;streamOutPipeBusy&lt;/SPAN&gt;)&lt;/PRE&gt;&lt;PRE style="-qt-block-indent: 0; text-indent: 0px; margin: 0px;"&gt;&lt;SPAN style="color: #c0c0c0;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;{&lt;/PRE&gt;&lt;PRE style="-qt-block-indent: 0; text-indent: 0px; margin: 0px;"&gt;&lt;SPAN style="color: #c0c0c0;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN style="color: #808000;"&gt;return&lt;/SPAN&gt;&lt;SPAN style="color: #c0c0c0;"&gt; &lt;/SPAN&gt;&lt;SPAN style="color: #800080;"&gt;kStatus_USB_Busy&lt;/SPAN&gt;;&lt;/PRE&gt;&lt;PRE style="-qt-block-indent: 0; text-indent: 0px; margin: 0px;"&gt;&lt;SPAN style="color: #c0c0c0;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;}&lt;/PRE&gt;&lt;/BLOCKQUOTE&gt;&lt;PRE style="-qt-block-indent: 0; text-indent: 0px; margin: 0px;"&gt;&lt;/PRE&gt;&lt;/LI&gt;&lt;LI&gt;&lt;PRE style="-qt-block-indent: 0; text-indent: 0px; margin: 0px;"&gt;&lt;SPAN style="color: #092e64;"&gt;isBusy also set in:
&lt;/SPAN&gt;&lt;/PRE&gt;&lt;BLOCKQUOTE class="jive_macro_quote jive-quote jive_text_macro"&gt;&lt;PRE style="-qt-block-indent: 0; text-indent: 0px; margin: 0px;"&gt;&lt;SPAN style="color: #092e64;"&gt;deviceHandle&lt;/SPAN&gt;-&amp;gt;&lt;SPAN style="color: #800000;"&gt;endpointCallback&lt;/SPAN&gt;[(&lt;SPAN style="color: #800080;"&gt;uint8_t&lt;/SPAN&gt;)((&lt;SPAN style="color: #800080;"&gt;uint32_t&lt;/SPAN&gt;)&lt;SPAN style="color: #092e64;"&gt;endpoint&lt;/SPAN&gt;&lt;SPAN style="color: #c0c0c0;"&gt; &lt;/SPAN&gt;&amp;lt;&amp;lt;&lt;SPAN style="color: #c0c0c0;"&gt; &lt;/SPAN&gt;&lt;SPAN style="color: #000080;"&gt;1U&lt;/SPAN&gt;)&lt;SPAN style="color: #c0c0c0;"&gt; &lt;/SPAN&gt;|&lt;SPAN style="color: #c0c0c0;"&gt; &lt;/SPAN&gt;&lt;SPAN style="color: #092e64;"&gt;direction&lt;/SPAN&gt;].&lt;SPAN style="color: #800000;"&gt;isBusy&lt;/SPAN&gt;&lt;/PRE&gt;&lt;/BLOCKQUOTE&gt;&lt;/LI&gt;&lt;LI&gt;And final and most interesting: disabling of USB double buffering fixes the problem(&lt;STRONG&gt;usb_device_lpcip3511.h&lt;/STRONG&gt;)&lt;BLOCKQUOTE class="jive_macro_quote jive-quote jive_text_macro"&gt;&lt;PRE style="-qt-block-indent: 0; text-indent: 0px; margin: 0px;"&gt;&lt;SPAN style="color: #000080;"&gt;#&lt;/SPAN&gt;&lt;SPAN style="color: #000080;"&gt;define&lt;/SPAN&gt;&lt;SPAN style="color: #c0c0c0;"&gt; &lt;/SPAN&gt;&lt;SPAN style="color: #000080;"&gt;USB_DEVICE_IP3511_DOUBLE_BUFFER_ENABLE&lt;/SPAN&gt;&lt;SPAN style="color: #c0c0c0;"&gt; &lt;/SPAN&gt;(&lt;SPAN style="color: #000080;"&gt;0u&lt;/SPAN&gt;)&lt;/PRE&gt;&lt;/BLOCKQUOTE&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;To sum up, everything works like sometime I miss call to &lt;SPAN style="color: #00677c;"&gt;USB_DeviceAudioRecv&lt;/SPAN&gt;, but as can be seen by busy states it is always called as it should. I think as problem somewhere in USB stack, as when double buffering enabled there is added interrupt disabling and re-enabling when buffer switching made.&lt;/P&gt;&lt;P&gt;Hope for your advices&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Thank you!&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 12 Oct 2017 13:35:31 GMT</pubDate>
      <guid>https://community.nxp.com/t5/LPC-Microcontrollers/USB-isochronous-EP-stuck/m-p/704834#M28388</guid>
      <dc:creator>mstumbra</dc:creator>
      <dc:date>2017-10-12T13:35:31Z</dc:date>
    </item>
    <item>
      <title>Re: USB isochronous EP stuck</title>
      <link>https://community.nxp.com/t5/LPC-Microcontrollers/USB-isochronous-EP-stuck/m-p/704835#M28389</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;PRE style="-qt-block-indent: 0; text-indent: 0px; margin: 0px;"&gt;After further dubugging I have found that when EP stuck &lt;SPAN style="color: #092e64;"&gt;lpc3511IpState&lt;/SPAN&gt;-&amp;gt;&lt;SPAN style="color: #800000;"&gt;epCommandStatusList 
&lt;/SPAN&gt;of isochronous OUT EP doesn't have "Active" bit set. Nor buffer 1, nor buffer 2.
That's why interrupts are not generated anymore.
Another question how stack falled to this state. 
Because HW should generate interrupt, once it clears "A" bit.

I have a strong filling that it is related to interrupt disabling and re-enabling in&lt;PRE style="-qt-block-indent: 0; text-indent: 0px; margin: 0px;"&gt;&lt;SPAN style="font-weight: 600; color: #00677c;"&gt;USB_DeviceLpc3511IpTransaction&lt;/SPAN&gt; with double buffering enabled.&lt;/PRE&gt;&lt;BLOCKQUOTE class="jive_macro_quote jive-quote jive_text_macro"&gt;&lt;PRE style="-qt-block-indent: 0; text-indent: 0px; margin: 0px;"&gt;&lt;PRE style="-qt-block-indent: 0; text-indent: 0px; margin: 0px;"&gt;&lt;SPAN style="color: #808000;"&gt;static&lt;/SPAN&gt;&lt;SPAN style="color: #c0c0c0;"&gt; &lt;/SPAN&gt;&lt;SPAN style="color: #800080;"&gt;usb_status_t&lt;/SPAN&gt;&lt;SPAN style="color: #c0c0c0;"&gt; &lt;/SPAN&gt;&lt;SPAN style="font-weight: 600; color: #00677c;"&gt;USB_DeviceLpc3511IpTransaction&lt;/SPAN&gt;(&lt;SPAN style="color: #800080;"&gt;usb_device_lpc3511ip_state_struct_t&lt;/SPAN&gt;&lt;SPAN style="color: #c0c0c0;"&gt; &lt;/SPAN&gt;*&lt;SPAN style="color: #092e64;"&gt;lpc3511IpState&lt;/SPAN&gt;,&lt;/PRE&gt;&lt;PRE style="-qt-block-indent: 0; text-indent: 0px; margin: 0px;"&gt;&lt;SPAN style="color: #c0c0c0;"&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;&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&gt;&lt;SPAN style="color: #800080;"&gt;usb_device_lpc3511ip_endpoint_state_struct_t&lt;/SPAN&gt;&lt;SPAN style="color: #c0c0c0;"&gt; &lt;/SPAN&gt;*&lt;SPAN style="color: #092e64;"&gt;epState&lt;/SPAN&gt;,&lt;/PRE&gt;&lt;PRE style="-qt-block-indent: 0; text-indent: 0px; margin: 0px;"&gt;&lt;SPAN style="color: #c0c0c0;"&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;&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&gt;&lt;SPAN style="color: #800080;"&gt;uint8_t&lt;/SPAN&gt;&lt;SPAN style="color: #c0c0c0;"&gt; &lt;/SPAN&gt;&lt;SPAN style="color: #092e64;"&gt;endpointIndex&lt;/SPAN&gt;)&lt;/PRE&gt;&lt;PRE style="-qt-block-indent: 0; text-indent: 0px; margin: 0px;"&gt;{&lt;/PRE&gt;&lt;PRE style="-qt-block-indent: 0; text-indent: 0px; margin: 0px;"&gt;&lt;SPAN style="color: #c0c0c0;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN style="color: #800080;"&gt;usb_status_t&lt;/SPAN&gt;&lt;SPAN style="color: #c0c0c0;"&gt; &lt;/SPAN&gt;&lt;SPAN style="color: #092e64;"&gt;status&lt;/SPAN&gt;&lt;SPAN style="color: #c0c0c0;"&gt; &lt;/SPAN&gt;=&lt;SPAN style="color: #c0c0c0;"&gt; &lt;/SPAN&gt;&lt;SPAN style="color: #800080;"&gt;kStatus_USB_Error&lt;/SPAN&gt;;&lt;/PRE&gt;&lt;PRE style="-qt-block-indent: 0; text-indent: 0px; margin: 0px;"&gt;&lt;SPAN style="color: #c0c0c0;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN style="color: #008000;"&gt;/*&lt;/SPAN&gt;&lt;SPAN style="color: #c0c0c0;"&gt; &lt;/SPAN&gt;&lt;SPAN style="color: #008000;"&gt;1.&lt;/SPAN&gt;&lt;SPAN style="color: #c0c0c0;"&gt; &lt;/SPAN&gt;&lt;SPAN style="color: #008000;"&gt;transfer&lt;/SPAN&gt;&lt;SPAN style="color: #c0c0c0;"&gt; &lt;/SPAN&gt;&lt;SPAN style="color: #008000;"&gt;size&lt;/SPAN&gt;&lt;SPAN style="color: #c0c0c0;"&gt; &lt;/SPAN&gt;&lt;SPAN style="color: #008000;"&gt;is&lt;/SPAN&gt;&lt;SPAN style="color: #c0c0c0;"&gt; &lt;/SPAN&gt;&lt;SPAN style="color: #008000;"&gt;0;&lt;/SPAN&gt;&lt;SPAN style="color: #c0c0c0;"&gt; &lt;/SPAN&gt;&lt;SPAN style="color: #008000;"&gt;2.&lt;/SPAN&gt;&lt;SPAN style="color: #c0c0c0;"&gt; &lt;/SPAN&gt;&lt;SPAN style="color: #008000;"&gt;All&lt;/SPAN&gt;&lt;SPAN style="color: #c0c0c0;"&gt; &lt;/SPAN&gt;&lt;SPAN style="color: #008000;"&gt;are&lt;/SPAN&gt;&lt;SPAN style="color: #c0c0c0;"&gt; &lt;/SPAN&gt;&lt;SPAN style="color: #008000;"&gt;primed&lt;/SPAN&gt;&lt;SPAN style="color: #c0c0c0;"&gt; &lt;/SPAN&gt;&lt;SPAN style="color: #008000;"&gt;*/&lt;/SPAN&gt;&lt;/PRE&gt;&lt;PRE style="-qt-block-indent: 0; text-indent: 0px; margin: 0px;"&gt;&lt;SPAN style="color: #c0c0c0;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN style="color: #808000;"&gt;if&lt;/SPAN&gt;&lt;SPAN style="color: #c0c0c0;"&gt; &lt;/SPAN&gt;((&lt;SPAN style="color: #092e64;"&gt;epState&lt;/SPAN&gt;-&amp;gt;&lt;SPAN style="color: #800000;"&gt;transferLength&lt;/SPAN&gt;&lt;SPAN style="color: #c0c0c0;"&gt; &lt;/SPAN&gt;&amp;lt;=&lt;SPAN style="color: #c0c0c0;"&gt; &lt;/SPAN&gt;&lt;SPAN style="color: #092e64;"&gt;epState&lt;/SPAN&gt;-&amp;gt;&lt;SPAN style="color: #800000;"&gt;transferPrimedLength&lt;/SPAN&gt;)&lt;SPAN style="color: #c0c0c0;"&gt; &lt;/SPAN&gt;&amp;amp;&amp;amp;&lt;SPAN style="color: #c0c0c0;"&gt; &lt;/SPAN&gt;(&lt;SPAN style="color: #092e64;"&gt;epState&lt;/SPAN&gt;-&amp;gt;&lt;SPAN style="color: #800000;"&gt;transferLength&lt;/SPAN&gt;&lt;SPAN style="color: #c0c0c0;"&gt; &lt;/SPAN&gt;!=&lt;SPAN style="color: #c0c0c0;"&gt; &lt;/SPAN&gt;&lt;SPAN style="color: #000080;"&gt;0&lt;/SPAN&gt;))&lt;/PRE&gt;&lt;PRE style="-qt-block-indent: 0; text-indent: 0px; margin: 0px;"&gt;&lt;SPAN style="color: #c0c0c0;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;{&lt;/PRE&gt;&lt;PRE style="-qt-block-indent: 0; text-indent: 0px; margin: 0px;"&gt;&lt;SPAN style="color: #c0c0c0;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN style="color: #808000;"&gt;return&lt;/SPAN&gt;&lt;SPAN style="color: #c0c0c0;"&gt; &lt;/SPAN&gt;&lt;SPAN style="color: #800080;"&gt;kStatus_USB_Success&lt;/SPAN&gt;;&lt;/PRE&gt;&lt;PRE style="-qt-block-indent: 0; text-indent: 0px; margin: 0px;"&gt;&lt;SPAN style="color: #c0c0c0;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;}&lt;/PRE&gt;&lt;PRE style="-qt-paragraph-type: empty; -qt-block-indent: 0; text-indent: 0px; margin: 0px;"&gt;&lt;/PRE&gt;&lt;PRE style="-qt-block-indent: 0; text-indent: 0px; margin: 0px;"&gt;&lt;SPAN style="color: #000080;"&gt;#&lt;/SPAN&gt;&lt;SPAN style="color: #000080;"&gt;if&lt;/SPAN&gt;&lt;SPAN style="color: #c0c0c0;"&gt; &lt;/SPAN&gt;(&lt;SPAN style="color: #000080;"&gt;defined&lt;/SPAN&gt;&lt;SPAN style="color: #c0c0c0;"&gt; &lt;/SPAN&gt;&lt;SPAN style="color: #000080;"&gt;USB_DEVICE_IP3511_DOUBLE_BUFFER_ENABLE&lt;/SPAN&gt;)&lt;SPAN style="color: #c0c0c0;"&gt; &lt;/SPAN&gt;&amp;amp;&amp;amp;&lt;SPAN style="color: #c0c0c0;"&gt; &lt;/SPAN&gt;(&lt;SPAN style="color: #000080;"&gt;USB_DEVICE_IP3511_DOUBLE_BUFFER_ENABLE&lt;/SPAN&gt;)&lt;/PRE&gt;&lt;PRE style="-qt-block-indent: 0; text-indent: 0px; margin: 0px;"&gt;&lt;SPAN style="color: #c0c0c0;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN style="color: #008000;"&gt;//NOTE:&lt;/SPAN&gt;&lt;SPAN style="color: #c0c0c0;"&gt; &lt;/SPAN&gt;&lt;SPAN style="color: #008000;"&gt;here&lt;/SPAN&gt;&lt;SPAN style="color: #c0c0c0;"&gt; &lt;/SPAN&gt;&lt;SPAN style="color: #008000;"&gt;may&lt;/SPAN&gt;&lt;SPAN style="color: #c0c0c0;"&gt; &lt;/SPAN&gt;&lt;SPAN style="color: #008000;"&gt;be&lt;/SPAN&gt;&lt;SPAN style="color: #c0c0c0;"&gt; &lt;/SPAN&gt;&lt;SPAN style="color: #008000;"&gt;problem&lt;/SPAN&gt;&lt;/PRE&gt;&lt;PRE style="-qt-block-indent: 0; text-indent: 0px; margin: 0px;"&gt;&lt;SPAN style="color: #c0c0c0;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN style="color: #800080;"&gt;uint32_t&lt;/SPAN&gt;&lt;SPAN style="color: #c0c0c0;"&gt; &lt;/SPAN&gt;&lt;SPAN style="color: #092e64;"&gt;interruptMask&lt;/SPAN&gt;;&lt;/PRE&gt;&lt;PRE style="-qt-paragraph-type: empty; -qt-block-indent: 0; text-indent: 0px; margin: 0px;"&gt;&lt;/PRE&gt;&lt;PRE style="-qt-block-indent: 0; text-indent: 0px; margin: 0px;"&gt;&lt;SPAN style="color: #c0c0c0;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN style="color: #808000;"&gt;if&lt;/SPAN&gt;&lt;SPAN style="color: #c0c0c0;"&gt; &lt;/SPAN&gt;((&lt;SPAN style="color: #092e64;"&gt;endpointIndex&lt;/SPAN&gt;&lt;SPAN style="color: #c0c0c0;"&gt; &lt;/SPAN&gt;&amp;gt;&amp;gt;&lt;SPAN style="color: #c0c0c0;"&gt; &lt;/SPAN&gt;&lt;SPAN style="color: #000080;"&gt;1U&lt;/SPAN&gt;)&lt;SPAN style="color: #c0c0c0;"&gt; &lt;/SPAN&gt;!=&lt;SPAN style="color: #c0c0c0;"&gt; &lt;/SPAN&gt;&lt;SPAN style="color: #000080;"&gt;USB_CONTROL_ENDPOINT&lt;/SPAN&gt;)&lt;/PRE&gt;&lt;PRE style="-qt-block-indent: 0; text-indent: 0px; margin: 0px;"&gt;&lt;SPAN style="color: #c0c0c0;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;{&lt;/PRE&gt;&lt;PRE style="-qt-block-indent: 0; text-indent: 0px; margin: 0px;"&gt;&lt;SPAN style="color: #c0c0c0;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN style="color: #008000;"&gt;/*&lt;/SPAN&gt;&lt;SPAN style="color: #c0c0c0;"&gt; &lt;/SPAN&gt;&lt;SPAN style="color: #008000;"&gt;disable&lt;/SPAN&gt;&lt;SPAN style="color: #c0c0c0;"&gt; &lt;/SPAN&gt;&lt;SPAN style="color: #008000;"&gt;endpoint&lt;/SPAN&gt;&lt;SPAN style="color: #c0c0c0;"&gt; &lt;/SPAN&gt;&lt;SPAN style="color: #008000;"&gt;interrupts&lt;/SPAN&gt;&lt;SPAN style="color: #c0c0c0;"&gt; &lt;/SPAN&gt;&lt;SPAN style="color: #008000;"&gt;*/&lt;/SPAN&gt;&lt;/PRE&gt;&lt;PRE style="-qt-block-indent: 0; text-indent: 0px; margin: 0px;"&gt;&lt;SPAN style="color: #c0c0c0;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN style="color: #092e64;"&gt;interruptMask&lt;/SPAN&gt;&lt;SPAN style="color: #c0c0c0;"&gt; &lt;/SPAN&gt;=&lt;SPAN style="color: #c0c0c0;"&gt; &lt;/SPAN&gt;&lt;SPAN style="color: #092e64;"&gt;lpc3511IpState&lt;/SPAN&gt;-&amp;gt;&lt;SPAN style="color: #800000;"&gt;registerBase&lt;/SPAN&gt;-&amp;gt;&lt;SPAN style="color: #800000;"&gt;INTEN&lt;/SPAN&gt;;&lt;/PRE&gt;&lt;PRE style="-qt-block-indent: 0; text-indent: 0px; margin: 0px;"&gt;&lt;SPAN style="color: #c0c0c0;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN style="color: #092e64;"&gt;lpc3511IpState&lt;/SPAN&gt;-&amp;gt;&lt;SPAN style="color: #800000;"&gt;registerBase&lt;/SPAN&gt;-&amp;gt;&lt;SPAN style="color: #800000;"&gt;INTEN&lt;/SPAN&gt;&lt;SPAN style="color: #c0c0c0;"&gt; &lt;/SPAN&gt;=&lt;SPAN style="color: #c0c0c0;"&gt; &lt;/SPAN&gt;&lt;SPAN style="color: #000080;"&gt;0&lt;/SPAN&gt;;&lt;/PRE&gt;&lt;PRE style="-qt-block-indent: 0; text-indent: 0px; margin: 0px;"&gt;&lt;SPAN style="color: #c0c0c0;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN style="color: #008000;"&gt;/*&lt;/SPAN&gt;&lt;SPAN style="color: #c0c0c0;"&gt; &lt;/SPAN&gt;&lt;SPAN style="color: #008000;"&gt;lpc3511IpState-&amp;gt;registerBase-&amp;gt;INTEN&lt;/SPAN&gt;&lt;SPAN style="color: #c0c0c0;"&gt; &lt;/SPAN&gt;&lt;SPAN style="color: #008000;"&gt;&amp;amp;=&lt;/SPAN&gt;&lt;SPAN style="color: #c0c0c0;"&gt; &lt;/SPAN&gt;&lt;SPAN style="color: #008000;"&gt;(uint32_t)(~(USB_LPC3511IP_MAX_PHY_ENDPOINT_MASK));&lt;/SPAN&gt;&lt;SPAN style="color: #c0c0c0;"&gt; &lt;/SPAN&gt;&lt;SPAN style="color: #008000;"&gt;*/&lt;/SPAN&gt;&lt;/PRE&gt;&lt;PRE style="-qt-paragraph-type: empty; -qt-block-indent: 0; text-indent: 0px; margin: 0px;"&gt;&lt;/PRE&gt;&lt;PRE style="-qt-block-indent: 0; text-indent: 0px; margin: 0px;"&gt;&lt;SPAN style="color: #c0c0c0;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN style="color: #808000;"&gt;do&lt;/SPAN&gt;&lt;/PRE&gt;&lt;PRE style="-qt-block-indent: 0; text-indent: 0px; margin: 0px;"&gt;&lt;SPAN style="color: #c0c0c0;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;{&lt;/PRE&gt;&lt;PRE style="-qt-block-indent: 0; text-indent: 0px; margin: 0px;"&gt;&lt;SPAN style="color: #c0c0c0;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN style="color: #092e64;"&gt;status&lt;/SPAN&gt;&lt;SPAN style="color: #c0c0c0;"&gt; &lt;/SPAN&gt;=&lt;SPAN style="color: #c0c0c0;"&gt; &lt;/SPAN&gt;&lt;SPAN style="color: #00677c;"&gt;USB_DeviceLpc3511IpGetActualBufferAndPrime&lt;/SPAN&gt;(&lt;SPAN style="color: #092e64;"&gt;lpc3511IpState&lt;/SPAN&gt;,&lt;SPAN style="color: #c0c0c0;"&gt; &lt;/SPAN&gt;&lt;SPAN style="color: #092e64;"&gt;epState&lt;/SPAN&gt;,&lt;SPAN style="color: #c0c0c0;"&gt; &lt;/SPAN&gt;&lt;SPAN style="color: #092e64;"&gt;endpointIndex&lt;/SPAN&gt;,&lt;SPAN style="color: #c0c0c0;"&gt; &lt;/SPAN&gt;&lt;SPAN style="color: #000080;"&gt;1U&lt;/SPAN&gt;);&lt;/PRE&gt;&lt;PRE style="-qt-block-indent: 0; text-indent: 0px; margin: 0px;"&gt;&lt;SPAN style="color: #c0c0c0;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN style="color: #808000;"&gt;if&lt;/SPAN&gt;&lt;SPAN style="color: #c0c0c0;"&gt; &lt;/SPAN&gt;(&lt;SPAN style="color: #092e64;"&gt;status&lt;/SPAN&gt;&lt;SPAN style="color: #c0c0c0;"&gt; &lt;/SPAN&gt;!=&lt;SPAN style="color: #c0c0c0;"&gt; &lt;/SPAN&gt;&lt;SPAN style="color: #800080;"&gt;kStatus_USB_Success&lt;/SPAN&gt;)&lt;/PRE&gt;&lt;PRE style="-qt-block-indent: 0; text-indent: 0px; margin: 0px;"&gt;&lt;SPAN style="color: #c0c0c0;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;{&lt;/PRE&gt;&lt;PRE style="-qt-block-indent: 0; text-indent: 0px; margin: 0px;"&gt;&lt;SPAN style="color: #c0c0c0;"&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&gt;&lt;SPAN style="color: #808000;"&gt;break&lt;/SPAN&gt;;&lt;/PRE&gt;&lt;PRE style="-qt-block-indent: 0; text-indent: 0px; margin: 0px;"&gt;&lt;SPAN style="color: #c0c0c0;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;}&lt;/PRE&gt;&lt;PRE style="-qt-block-indent: 0; text-indent: 0px; margin: 0px;"&gt;&lt;SPAN style="color: #c0c0c0;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;}&lt;SPAN style="color: #c0c0c0;"&gt; &lt;/SPAN&gt;&lt;SPAN style="color: #808000;"&gt;while&lt;/SPAN&gt;&lt;SPAN style="color: #c0c0c0;"&gt; &lt;/SPAN&gt;((&lt;SPAN style="color: #092e64;"&gt;epState&lt;/SPAN&gt;-&amp;gt;&lt;SPAN style="color: #800000;"&gt;transferLength&lt;/SPAN&gt;&lt;SPAN style="color: #c0c0c0;"&gt; &lt;/SPAN&gt;&amp;gt;&lt;SPAN style="color: #c0c0c0;"&gt; &lt;/SPAN&gt;&lt;SPAN style="color: #092e64;"&gt;epState&lt;/SPAN&gt;-&amp;gt;&lt;SPAN style="color: #800000;"&gt;transferPrimedLength&lt;/SPAN&gt;)&lt;SPAN style="color: #c0c0c0;"&gt; &lt;/SPAN&gt;&amp;amp;&amp;amp;&lt;/PRE&gt;&lt;PRE style="-qt-block-indent: 0; text-indent: 0px; margin: 0px;"&gt;&lt;SPAN style="color: #c0c0c0;"&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; &lt;/SPAN&gt;(&lt;SPAN style="color: #092e64;"&gt;epState&lt;/SPAN&gt;-&amp;gt;&lt;SPAN style="color: #800000;"&gt;stateUnion&lt;/SPAN&gt;.&lt;SPAN style="color: #800000;"&gt;stateBitField&lt;/SPAN&gt;.&lt;SPAN style="color: #800000;"&gt;doubleBufferBusy&lt;/SPAN&gt;&lt;SPAN style="color: #c0c0c0;"&gt; &lt;/SPAN&gt;&amp;lt;&lt;SPAN style="color: #c0c0c0;"&gt; &lt;/SPAN&gt;&lt;SPAN style="color: #000080;"&gt;2&lt;/SPAN&gt;));&lt;/PRE&gt;&lt;PRE style="-qt-paragraph-type: empty; -qt-block-indent: 0; text-indent: 0px; margin: 0px;"&gt;&lt;/PRE&gt;&lt;PRE style="-qt-block-indent: 0; text-indent: 0px; margin: 0px;"&gt;&lt;SPAN style="color: #c0c0c0;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN style="color: #008000;"&gt;/*&lt;/SPAN&gt;&lt;SPAN style="color: #c0c0c0;"&gt; &lt;/SPAN&gt;&lt;SPAN style="color: #008000;"&gt;enable&lt;/SPAN&gt;&lt;SPAN style="color: #c0c0c0;"&gt; &lt;/SPAN&gt;&lt;SPAN style="color: #008000;"&gt;endpoint&lt;/SPAN&gt;&lt;SPAN style="color: #c0c0c0;"&gt; &lt;/SPAN&gt;&lt;SPAN style="color: #008000;"&gt;interrupt&lt;/SPAN&gt;&lt;SPAN style="color: #c0c0c0;"&gt; &lt;/SPAN&gt;&lt;SPAN style="color: #008000;"&gt;again&lt;/SPAN&gt;&lt;SPAN style="color: #c0c0c0;"&gt; &lt;/SPAN&gt;&lt;SPAN style="color: #008000;"&gt;*/&lt;/SPAN&gt;&lt;/PRE&gt;&lt;PRE style="-qt-block-indent: 0; text-indent: 0px; margin: 0px;"&gt;&lt;SPAN style="color: #c0c0c0;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN style="color: #008000;"&gt;/*&lt;/SPAN&gt;&lt;SPAN style="color: #c0c0c0;"&gt; &lt;/SPAN&gt;&lt;SPAN style="color: #008000;"&gt;lpc3511IpState-&amp;gt;registerBase-&amp;gt;INTEN&lt;/SPAN&gt;&lt;SPAN style="color: #c0c0c0;"&gt; &lt;/SPAN&gt;&lt;SPAN style="color: #008000;"&gt;|=&lt;/SPAN&gt;&lt;SPAN style="color: #c0c0c0;"&gt; &lt;/SPAN&gt;&lt;SPAN style="color: #008000;"&gt;(uint32_t)(USB_LPC3511IP_MAX_PHY_ENDPOINT_MASK);&lt;/SPAN&gt;&lt;SPAN style="color: #c0c0c0;"&gt; &lt;/SPAN&gt;&lt;SPAN style="color: #008000;"&gt;*/&lt;/SPAN&gt;&lt;/PRE&gt;&lt;PRE style="-qt-block-indent: 0; text-indent: 0px; margin: 0px;"&gt;&lt;SPAN style="color: #c0c0c0;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN style="color: #092e64;"&gt;lpc3511IpState&lt;/SPAN&gt;-&amp;gt;&lt;SPAN style="color: #800000;"&gt;registerBase&lt;/SPAN&gt;-&amp;gt;&lt;SPAN style="color: #800000;"&gt;INTEN&lt;/SPAN&gt;&lt;SPAN style="color: #c0c0c0;"&gt; &lt;/SPAN&gt;=&lt;SPAN style="color: #c0c0c0;"&gt; &lt;/SPAN&gt;&lt;SPAN style="color: #092e64;"&gt;interruptMask&lt;/SPAN&gt;;&lt;/PRE&gt;&lt;PRE style="-qt-block-indent: 0; text-indent: 0px; margin: 0px;"&gt;&lt;SPAN style="color: #c0c0c0;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;}&lt;/PRE&gt;&lt;PRE style="-qt-block-indent: 0; text-indent: 0px; margin: 0px;"&gt;&lt;SPAN style="color: #c0c0c0;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN style="color: #808000;"&gt;else&lt;/SPAN&gt;&lt;/PRE&gt;&lt;PRE style="-qt-block-indent: 0; text-indent: 0px; margin: 0px;"&gt;&lt;SPAN style="color: #000080;"&gt;#&lt;/SPAN&gt;&lt;SPAN style="color: #000080;"&gt;endif&lt;/SPAN&gt;&lt;/PRE&gt;&lt;PRE style="-qt-block-indent: 0; text-indent: 0px; margin: 0px;"&gt;&lt;SPAN style="color: #c0c0c0;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;{&lt;/PRE&gt;&lt;PRE style="-qt-block-indent: 0; text-indent: 0px; margin: 0px;"&gt;&lt;SPAN style="color: #c0c0c0;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN style="color: #092e64;"&gt;status&lt;/SPAN&gt;&lt;SPAN style="color: #c0c0c0;"&gt; &lt;/SPAN&gt;=&lt;SPAN style="color: #c0c0c0;"&gt; &lt;/SPAN&gt;&lt;SPAN style="color: #00677c;"&gt;USB_DeviceLpc3511IpGetActualBufferAndPrime&lt;/SPAN&gt;(&lt;SPAN style="color: #092e64;"&gt;lpc3511IpState&lt;/SPAN&gt;,&lt;SPAN style="color: #c0c0c0;"&gt; &lt;/SPAN&gt;&lt;SPAN style="color: #092e64;"&gt;epState&lt;/SPAN&gt;,&lt;SPAN style="color: #c0c0c0;"&gt; &lt;/SPAN&gt;&lt;SPAN style="color: #092e64;"&gt;endpointIndex&lt;/SPAN&gt;,&lt;SPAN style="color: #c0c0c0;"&gt; &lt;/SPAN&gt;&lt;SPAN style="color: #000080;"&gt;0U&lt;/SPAN&gt;);&lt;/PRE&gt;&lt;PRE style="-qt-block-indent: 0; text-indent: 0px; margin: 0px;"&gt;&lt;SPAN style="color: #c0c0c0;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;}&lt;/PRE&gt;&lt;PRE style="-qt-block-indent: 0; text-indent: 0px; margin: 0px;"&gt;&lt;SPAN style="color: #c0c0c0;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN style="color: #808000;"&gt;return&lt;/SPAN&gt;&lt;SPAN style="color: #c0c0c0;"&gt; &lt;/SPAN&gt;&lt;SPAN style="color: #092e64;"&gt;status&lt;/SPAN&gt;;&lt;/PRE&gt;&lt;PRE style="-qt-block-indent: 0; text-indent: 0px; margin: 0px;"&gt;}&lt;/PRE&gt;&lt;/PRE&gt;&lt;/BLOCKQUOTE&gt;&lt;PRE style="-qt-block-indent: 0; text-indent: 0px; margin: 0px;"&gt;

Any suggestions?&lt;/PRE&gt;&lt;/PRE&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 18 Oct 2017 14:32:24 GMT</pubDate>
      <guid>https://community.nxp.com/t5/LPC-Microcontrollers/USB-isochronous-EP-stuck/m-p/704835#M28389</guid>
      <dc:creator>mstumbra</dc:creator>
      <dc:date>2017-10-18T14:32:24Z</dc:date>
    </item>
    <item>
      <title>Re: USB isochronous EP stuck</title>
      <link>https://community.nxp.com/t5/LPC-Microcontrollers/USB-isochronous-EP-stuck/m-p/704836#M28390</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Finally I get know, that Interrupts disabling and reenabling causes this problem&lt;/P&gt;&lt;BLOCKQUOTE class="jive_macro_quote jive-quote jive_text_macro"&gt;&lt;P&gt;&lt;SPAN style="color: #092e64; border: 0px; font-weight: inherit;"&gt;interruptMask&lt;/SPAN&gt;&lt;SPAN style="color: #c0c0c0; border: 0px; font-weight: inherit;"&gt; &lt;/SPAN&gt;=&lt;SPAN style="color: #c0c0c0; border: 0px; font-weight: inherit;"&gt; &lt;/SPAN&gt;&lt;SPAN style="color: #092e64; border: 0px; font-weight: inherit;"&gt;lpc3511IpState&lt;/SPAN&gt;-&amp;gt;&lt;SPAN style="color: #800000; border: 0px; font-weight: inherit;"&gt;registerBase&lt;/SPAN&gt;-&amp;gt;&lt;SPAN style="color: #800000; border: 0px; font-weight: inherit;"&gt;INTEN&lt;/SPAN&gt;;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="color: #092e64; border: 0px; font-weight: inherit;"&gt;lpc3511IpState&lt;/SPAN&gt;-&amp;gt;&lt;SPAN style="color: #800000; border: 0px; font-weight: inherit;"&gt;registerBase&lt;/SPAN&gt;-&amp;gt;&lt;SPAN style="color: #800000; border: 0px; font-weight: inherit;"&gt;INTEN&lt;/SPAN&gt;&lt;SPAN style="color: #c0c0c0; border: 0px; font-weight: inherit;"&gt; &lt;/SPAN&gt;=&lt;SPAN style="color: #c0c0c0; border: 0px; font-weight: inherit;"&gt; &lt;/SPAN&gt;&lt;SPAN style="color: #000080; border: 0px; font-weight: inherit;"&gt;0&lt;/SPAN&gt;;&lt;/P&gt;&lt;P&gt;...&lt;/P&gt;&lt;P&gt;&lt;SPAN style="color: #092e64; border: 0px; font-weight: inherit;"&gt;lpc3511IpState&lt;/SPAN&gt;-&amp;gt;&lt;SPAN style="color: #800000; border: 0px; font-weight: inherit;"&gt;registerBase&lt;/SPAN&gt;-&amp;gt;&lt;SPAN style="color: #800000; border: 0px; font-weight: inherit;"&gt;INTEN&lt;/SPAN&gt;&lt;SPAN style="color: #c0c0c0; border: 0px; font-weight: inherit;"&gt; &lt;/SPAN&gt;=&lt;SPAN style="color: #c0c0c0; border: 0px; font-weight: inherit;"&gt; &lt;/SPAN&gt;&lt;SPAN style="color: #092e64; border: 0px; font-weight: inherit;"&gt;interruptMask&lt;/SPAN&gt;;&lt;/P&gt;&lt;/BLOCKQUOTE&gt;&lt;P&gt;If enable this code for&amp;nbsp;single buffer configuration it will also cause same problem.&lt;/P&gt;&lt;P&gt;For now I tried to remove this lines, as single buffering scheme&amp;nbsp;does not use it, and my code worked without EP stuck for 2 hours.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;Question to NXP&lt;/STRONG&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI&gt;For what purpose interrupt disabling added to double buffer scheme?&lt;/LI&gt;&lt;LI&gt;Why it is not used in single buffer scheme?&lt;/LI&gt;&lt;LI&gt;Why it leads to miss of input packet interrupt? In my understanding disabled interrupt means that bit in status register should be able to be set by HW by incoming packet and it will still generate interrupt&amp;nbsp;immediatly after&amp;nbsp;set of corresponding INTEN bit.&lt;/LI&gt;&lt;/UL&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 18 Oct 2017 21:16:39 GMT</pubDate>
      <guid>https://community.nxp.com/t5/LPC-Microcontrollers/USB-isochronous-EP-stuck/m-p/704836#M28390</guid>
      <dc:creator>mstumbra</dc:creator>
      <dc:date>2017-10-18T21:16:39Z</dc:date>
    </item>
  </channel>
</rss>

