<?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 Software Development Kit中的主题 Re: Generalization of the USB Hosts CDC example for more than PSTN</title>
    <link>https://community.nxp.com/t5/Kinetis-Software-Development-Kit/Generalization-of-the-USB-Hosts-CDC-example-for-more-than-PSTN/m-p/765508#M7774</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi David:&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;The interrupt pipe initialization is in the CDC state machine.&lt;/P&gt;&lt;P&gt;Please refer to USB_HostCdcTask (usb_host_cdc.c )&lt;/P&gt;&lt;P&gt;This task is used to execute a CDC state machine.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; case kStatus_DEV_Attached:&lt;BR /&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; cdcInstance-&amp;gt;runState = kUSB_HostCdcRunSetControlInterface;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Next, usb stack will call USB_HostCdcSetControlInterface&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; case kUSB_HostCdcRunSetControlInterface:&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; cdcInstance-&amp;gt;runWaitState = kUSB_HostCdcRunWaitSetControlInterface;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; cdcInstance-&amp;gt;runState = kUSB_HostCdcRunIdle;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; if (USB_HostCdcSetControlInterface(cdcInstance-&amp;gt;classHandle, cdcInstance-&amp;gt;controlInterfaceHandle, 0,&lt;BR /&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; USB_HostCdcControlCallback, &amp;amp;g_cdc) != kStatus_USB_Success)&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;BR /&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; usb_echo("set control interface error\r\n");&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;USB_HostCdcSetContorlInterfaceCallback will call USB_HostCdcOpenControlInterface,&amp;nbsp; and interruptPipe is initialized in this function.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Regards&lt;/P&gt;&lt;P&gt;Daniel&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Tue, 12 Jun 2018 07:29:37 GMT</pubDate>
    <dc:creator>danielchen</dc:creator>
    <dc:date>2018-06-12T07:29:37Z</dc:date>
    <item>
      <title>Generalization of the USB Hosts CDC example for more than PSTN</title>
      <link>https://community.nxp.com/t5/Kinetis-Software-Development-Kit/Generalization-of-the-USB-Hosts-CDC-example-for-more-than-PSTN/m-p/765506#M7772</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;In working through the USB Host CDC example found at C:\KSDK2\boards\frdmk22f\usb_examples\usb_host_cdc\freertos I find that the device must specifically be "Calss-specific PSTN". Since I'm new to this arena, is there any documentation available that would help me move towards just a serial interface.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Specifically, for this device, the InterfaceClass and InterfaceSubClass are all defined as 0xFF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Note: I found the example&amp;nbsp; in KSDK 1.2 more enlightening, but I'd prefer to use the more recent examples.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Thanks&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 04 Apr 2018 17:38:37 GMT</pubDate>
      <guid>https://community.nxp.com/t5/Kinetis-Software-Development-Kit/Generalization-of-the-USB-Hosts-CDC-example-for-more-than-PSTN/m-p/765506#M7772</guid>
      <dc:creator>davepfaltzgraff</dc:creator>
      <dc:date>2018-04-04T17:38:37Z</dc:date>
    </item>
    <item>
      <title>Re: Generalization of the USB Hosts CDC example for more than PSTN</title>
      <link>https://community.nxp.com/t5/Kinetis-Software-Development-Kit/Generalization-of-the-USB-Hosts-CDC-example-for-more-than-PSTN/m-p/765507#M7773</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hopefully someone knowledgeable is "listening" to this sequence of posts as I have learned enough to be dangerous but still may be of help to others.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;As described in my first post, I changed the InterfaceClass and InterfaceSubClass so that a generic device would be accepted. Now, the unit enumerates and I can start "talking" to it. However, I have found some errors in the base code and question whether or not it was actually tested against real hardware. But...&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;My question now is that I get to the point where the console prints out "Error in USB_HostCdcInterruptRecv:" Backtracking, I found that cdcInstance-&amp;gt;interruptPipe was NULL. Where in the code should the pipe be defined? The documentation in the "USB Stack Host Reference Manual" merely mentions interruptPipe and does not clarify how/when it is to be used.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Thanks&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 06 Apr 2018 13:53:24 GMT</pubDate>
      <guid>https://community.nxp.com/t5/Kinetis-Software-Development-Kit/Generalization-of-the-USB-Hosts-CDC-example-for-more-than-PSTN/m-p/765507#M7773</guid>
      <dc:creator>davepfaltzgraff</dc:creator>
      <dc:date>2018-04-06T13:53:24Z</dc:date>
    </item>
    <item>
      <title>Re: Generalization of the USB Hosts CDC example for more than PSTN</title>
      <link>https://community.nxp.com/t5/Kinetis-Software-Development-Kit/Generalization-of-the-USB-Hosts-CDC-example-for-more-than-PSTN/m-p/765508#M7774</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi David:&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;The interrupt pipe initialization is in the CDC state machine.&lt;/P&gt;&lt;P&gt;Please refer to USB_HostCdcTask (usb_host_cdc.c )&lt;/P&gt;&lt;P&gt;This task is used to execute a CDC state machine.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; case kStatus_DEV_Attached:&lt;BR /&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; cdcInstance-&amp;gt;runState = kUSB_HostCdcRunSetControlInterface;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Next, usb stack will call USB_HostCdcSetControlInterface&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; case kUSB_HostCdcRunSetControlInterface:&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; cdcInstance-&amp;gt;runWaitState = kUSB_HostCdcRunWaitSetControlInterface;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; cdcInstance-&amp;gt;runState = kUSB_HostCdcRunIdle;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; if (USB_HostCdcSetControlInterface(cdcInstance-&amp;gt;classHandle, cdcInstance-&amp;gt;controlInterfaceHandle, 0,&lt;BR /&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; USB_HostCdcControlCallback, &amp;amp;g_cdc) != kStatus_USB_Success)&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;BR /&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; usb_echo("set control interface error\r\n");&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;USB_HostCdcSetContorlInterfaceCallback will call USB_HostCdcOpenControlInterface,&amp;nbsp; and interruptPipe is initialized in this function.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Regards&lt;/P&gt;&lt;P&gt;Daniel&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 12 Jun 2018 07:29:37 GMT</pubDate>
      <guid>https://community.nxp.com/t5/Kinetis-Software-Development-Kit/Generalization-of-the-USB-Hosts-CDC-example-for-more-than-PSTN/m-p/765508#M7774</guid>
      <dc:creator>danielchen</dc:creator>
      <dc:date>2018-06-12T07:29:37Z</dc:date>
    </item>
  </channel>
</rss>

