<?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>topic Re: Keyboard Disables When No USB Connection In MC9S08JM60 Demo board in 8-bit Microcontrollers</title>
    <link>https://community.nxp.com/t5/8-bit-Microcontrollers/Keyboard-Disables-When-No-USB-Connection-In-MC9S08JM60-Demo/m-p/193666#M15111</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;BLOCKQUOTE&gt;&lt;HR /&gt;&lt;P&gt;What I did not do is difining micro for the SELFPOWER mode. It is already defined in the Usb_Config.h.&lt;/P&gt;&lt;HR /&gt;&lt;/BLOCKQUOTE&gt;&lt;P&gt;If SELF_POEWER is already enabled, but if you still see the device drops in Suspend, Port G D0 is not connected to VBUS pin of USB connector on the board. Check the Port G D0 connection. This port is examined by&amp;nbsp;Check_USBBus_Status() for VBUS detection when&amp;nbsp;SELF_POEWER is enabled.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;I don't know if this port is connected to the USB connector on your board.&lt;/P&gt;&lt;P&gt;For the pair of DEMOJM mother board and JM60 daughter card, Port G D0 is connected to push button over J27 Jumper. For self-powered setting, I took off the J27 jumper and connected it to J12 (VBUS_SEL) pin2 externally, with a protection resistor and another weak pull-down resistor, and a small bypass capacitor. In this way, VBUS detection on the code works on this board.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;BLOCKQUOTE&gt;&lt;HR /&gt;&lt;P&gt;My point is if I use IF statement in the main.c as you mentioned, I am practically disabling the method that manipulate my keyboard commands in no USB connection state. So it won't work if&amp;nbsp; Usb_Device_State == CONFIGURED_STATE, is that right or I am missing something big here?!.&lt;/P&gt;&lt;HR /&gt;&lt;/BLOCKQUOTE&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Place the key scan task out of the "if" clause, and enclose just the USB endpoint operations in the "if" clause.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Tsuneo&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Fri, 23 Apr 2010 04:24:27 GMT</pubDate>
    <dc:creator>Tsuneo</dc:creator>
    <dc:date>2010-04-23T04:24:27Z</dc:date>
    <item>
      <title>Keyboard Disables When No USB Connection In MC9S08JM60 Demo board</title>
      <link>https://community.nxp.com/t5/8-bit-Microcontrollers/Keyboard-Disables-When-No-USB-Connection-In-MC9S08JM60-Demo/m-p/193663#M15108</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;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Using&amp;nbsp; MC9S08JM60 chip and DEMOJM Kit, I wrote a software in C# similar to the Freescale GUI for USB application Training, which can be found in the following link:&lt;/P&gt;&lt;P&gt;&lt;A _jive_internal="true" href="https://community.nxp.com/external-link.jspa?url=http%3A%2F%2Fwww.freescale.com%2Fwebapp%2Fsps%2Fsite%2Fprod_summary.jsp%3Fcode%3DUSBJM_TRAINING%26nodeId%3D01624684491437" rel="nofollow" target="_blank"&gt;http://www.freescale.com/webapp/sps/site/prod_summary.jsp?code=USBJM_TRAINING&amp;amp;nodeId=01624684491437&lt;/A&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;In the microcontroller code I used the firmware example in the above link and wrote my functions for the keyboards in it.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Now the problem&amp;nbsp;is when I use an external power supply and disconnect the USB cable, the keys are not functioning at all as there are when the USB cable is connected. I have found out that the function in main.c called Check_USBBus_Status() is causing this issue. I don't exactly know how this function helps the keyboards interrupt&amp;nbsp; to fail. When I remove the function, the USB port won't work even when the connection exists.&lt;/P&gt;&lt;P&gt;It is so appreciated if someone let me know how I am going to fix this problem.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Thanks alot,&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Red&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 21 Apr 2010 02:43:16 GMT</pubDate>
      <guid>https://community.nxp.com/t5/8-bit-Microcontrollers/Keyboard-Disables-When-No-USB-Connection-In-MC9S08JM60-Demo/m-p/193663#M15108</guid>
      <dc:creator>RedInVan</dc:creator>
      <dc:date>2010-04-21T02:43:16Z</dc:date>
    </item>
    <item>
      <title>Re: Keyboard Disables When No USB Connection In MC9S08JM60 Demo board</title>
      <link>https://community.nxp.com/t5/8-bit-Microcontrollers/Keyboard-Disables-When-No-USB-Connection-In-MC9S08JM60-Demo/m-p/193664#M15109</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;BLOCKQUOTE&gt;&lt;HR /&gt;&lt;BLOCKQUOTE&gt;&amp;nbsp;Now the problem&amp;nbsp;is when I use an external power supply and disconnect the USB cable, the keys are not functioning at all as there are when the USB cable is connected. I have found out that the function in main.c called Check_USBBus_Status() is causing this issue.&lt;/BLOCKQUOTE&gt;&lt;HR /&gt;&lt;/BLOCKQUOTE&gt;&lt;BLOCKQUOTE&gt;Sound like the device drops in Suspend. USB_Suspend() is called from Check_USBBus_Status().&lt;BR /&gt;As your device is a self-powered one, enable SELF_POEWER by adding this macro to Usb_Config.h&lt;/BLOCKQUOTE&gt;&lt;BLOCKQUOTE&gt;&lt;PRE&gt;Usb_Config.h#define SELF_POEWER&lt;/PRE&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;/BLOCKQUOTE&gt;&lt;BLOCKQUOTE&gt;And then, Check_USBBus_Status() disable the USB engine (SIE) when the device is disconnected, by seeing VBUS voltage at the port.&lt;BR /&gt;Once the engine is disabled, Suspend event doesn't occur, too.&lt;BR /&gt;But to make it sure, comment USB_Suspend() call in Check_USBBus_Status()&lt;/BLOCKQUOTE&gt;&lt;BLOCKQUOTE&gt;&lt;PRE&gt;void Check_USBBus_Status(void){    ...    ...    if(Usb_Device_State == USB_ENTER_SUSPEND)    {//        USB_Suspend();     &amp;lt;----------- comment this line    }}&lt;/PRE&gt;&lt;P&gt;&amp;nbsp;Your main loop task works just when USB connection is established.&lt;BR /&gt;It doesn't need to run while disconnected.&lt;BR /&gt;For such tasks, enclose them with "if (Usb_Device_State == CONFIGURED_STATE){&amp;nbsp; }", as follows.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;PRE&gt;/* Main Loop */for(;;) {    /* USB Manager, please keep it in main Loop */    Check_USBBus_Status();    if (Usb_Device_State == CONFIGURED_STATE)     // run this contents just when USB connection is established    {        if (ButtonPressed)        {            // If there is any change in the switches, send the status            EP2_Buffer[0] = SWITCHES_PORT; //assign value of the push buttons to EP2 buffer            EndPoint_IN(EP2,8);            //send data            ButtonPressed = 0;             //clear ButtonPressed flag            KBI_ENABLE();                  //enable KBI        }                      else if(CheckEndPointOUT(EP1))           {                   // If data was received in EP1, set LEDs value             LED0 = ~(EP1_Buffer[0]);                    LED1 = ~(EP1_Buffer[0] &amp;gt;&amp;gt; 1);            LED2 = ~(EP1_Buffer[0] &amp;gt;&amp;gt; 2);            LED3 = ~(EP1_Buffer[0] &amp;gt;&amp;gt; 3);        }        else if (CheckEndPointOUT(EP3))        {            //check first byte (command)                        if (EP3_Buffer[0] == WRITE_LEDS)            {                //Change LEDs value                 LED4 = ~(EP3_Buffer[1] &amp;gt;&amp;gt; 4);                LED5 = ~(EP3_Buffer[1] &amp;gt;&amp;gt; 5);                LED6 = ~(EP3_Buffer[1] &amp;gt;&amp;gt; 6);                LED7 = ~(EP3_Buffer[1] &amp;gt;&amp;gt; 7);                              }                                   else if (EP3_Buffer[0] == READ_ANALOG_DATA)            {                //Read analog data and send it through EP4                           EP4_Buffer[0] = READ_POT();                EP4_Buffer[1] = READ_ACCEL_X();                EP4_Buffer[2] = READ_ACCEL_Y();                EP4_Buffer[3] = READ_ACCEL_Z();                                    EP4_Buffer[4] = SWITCHES_PORT;                                        EndPoint_IN(EP4,8);                            }                     }    }}&lt;/PRE&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;Tsuneo&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;BR /&gt;&lt;/BLOCKQUOTE&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 29 Oct 2020 09:47:46 GMT</pubDate>
      <guid>https://community.nxp.com/t5/8-bit-Microcontrollers/Keyboard-Disables-When-No-USB-Connection-In-MC9S08JM60-Demo/m-p/193664#M15109</guid>
      <dc:creator>Tsuneo</dc:creator>
      <dc:date>2020-10-29T09:47:46Z</dc:date>
    </item>
    <item>
      <title>Re: Keyboard Disables When No USB Connection In MC9S08JM60 Demo board</title>
      <link>https://community.nxp.com/t5/8-bit-Microcontrollers/Keyboard-Disables-When-No-USB-Connection-In-MC9S08JM60-Demo/m-p/193665#M15110</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi Tsuneo;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Thank you very much for the respond. I have modified the code by putting " if(Usb_Device_State == CONFIGURED_STATE)&amp;nbsp; in the main and commented the USB_Suspend() method out of the code. What I did not do is difining micro for the SELFPOWER mode. It is already defined in the Usb_Config.h.&lt;/P&gt;&lt;P&gt;My point is if I use IF statement in the main.c as you mentioned, I am practically disabling the method that manipulate my keyboard commands in no USB connection state. So it won't work if&amp;nbsp; Usb_Device_State == CONFIGURED_STATE, is that right or I am missing something big here?!.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Modification Result: So after the modifications, in no USB connection state, the keys are still disabled. So it is not USB_Suspend() that causing the problem I guess.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Thank you so much.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Red&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 22 Apr 2010 00:11:29 GMT</pubDate>
      <guid>https://community.nxp.com/t5/8-bit-Microcontrollers/Keyboard-Disables-When-No-USB-Connection-In-MC9S08JM60-Demo/m-p/193665#M15110</guid>
      <dc:creator>RedInVan</dc:creator>
      <dc:date>2010-04-22T00:11:29Z</dc:date>
    </item>
    <item>
      <title>Re: Keyboard Disables When No USB Connection In MC9S08JM60 Demo board</title>
      <link>https://community.nxp.com/t5/8-bit-Microcontrollers/Keyboard-Disables-When-No-USB-Connection-In-MC9S08JM60-Demo/m-p/193666#M15111</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;BLOCKQUOTE&gt;&lt;HR /&gt;&lt;P&gt;What I did not do is difining micro for the SELFPOWER mode. It is already defined in the Usb_Config.h.&lt;/P&gt;&lt;HR /&gt;&lt;/BLOCKQUOTE&gt;&lt;P&gt;If SELF_POEWER is already enabled, but if you still see the device drops in Suspend, Port G D0 is not connected to VBUS pin of USB connector on the board. Check the Port G D0 connection. This port is examined by&amp;nbsp;Check_USBBus_Status() for VBUS detection when&amp;nbsp;SELF_POEWER is enabled.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;I don't know if this port is connected to the USB connector on your board.&lt;/P&gt;&lt;P&gt;For the pair of DEMOJM mother board and JM60 daughter card, Port G D0 is connected to push button over J27 Jumper. For self-powered setting, I took off the J27 jumper and connected it to J12 (VBUS_SEL) pin2 externally, with a protection resistor and another weak pull-down resistor, and a small bypass capacitor. In this way, VBUS detection on the code works on this board.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;BLOCKQUOTE&gt;&lt;HR /&gt;&lt;P&gt;My point is if I use IF statement in the main.c as you mentioned, I am practically disabling the method that manipulate my keyboard commands in no USB connection state. So it won't work if&amp;nbsp; Usb_Device_State == CONFIGURED_STATE, is that right or I am missing something big here?!.&lt;/P&gt;&lt;HR /&gt;&lt;/BLOCKQUOTE&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Place the key scan task out of the "if" clause, and enclose just the USB endpoint operations in the "if" clause.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Tsuneo&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 23 Apr 2010 04:24:27 GMT</pubDate>
      <guid>https://community.nxp.com/t5/8-bit-Microcontrollers/Keyboard-Disables-When-No-USB-Connection-In-MC9S08JM60-Demo/m-p/193666#M15111</guid>
      <dc:creator>Tsuneo</dc:creator>
      <dc:date>2010-04-23T04:24:27Z</dc:date>
    </item>
    <item>
      <title>Re: Keyboard Disables When No USB Connection In MC9S08JM60 Demo board</title>
      <link>https://community.nxp.com/t5/8-bit-Microcontrollers/Keyboard-Disables-When-No-USB-Connection-In-MC9S08JM60-Demo/m-p/193667#M15112</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi Tsuneo,&lt;A href="http://forums.freescale.com/../user/viewprofilepage/user-id/17975" rel="nofollow" target="_self"&gt;&lt;SPAN&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/A&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;Thank you very much for the respond. I just want to confirm whether VBUS is Vusb33 (pin25) on the chip?.&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;By the way I am using PTG0 to execute a function in my code. If I connect it to VBUS, It will conflict with the voltage on the pin and my push button won't work any more. &lt;SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;Thank you.&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;Red&lt;BR /&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Sat, 24 Apr 2010 06:44:42 GMT</pubDate>
      <guid>https://community.nxp.com/t5/8-bit-Microcontrollers/Keyboard-Disables-When-No-USB-Connection-In-MC9S08JM60-Demo/m-p/193667#M15112</guid>
      <dc:creator>RedInVan</dc:creator>
      <dc:date>2010-04-24T06:44:42Z</dc:date>
    </item>
    <item>
      <title>Re: Keyboard Disables When No USB Connection In MC9S08JM60 Demo board</title>
      <link>https://community.nxp.com/t5/8-bit-Microcontrollers/Keyboard-Disables-When-No-USB-Connection-In-MC9S08JM60-Demo/m-p/193668#M15113</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;BLOCKQUOTE&gt;&lt;HR /&gt;&lt;P&gt;&lt;SPAN&gt;&amp;nbsp;I just want to confirm whether VBUS is Vusb33 (pin25) on the chip?.&lt;/SPAN&gt;&lt;/P&gt;&lt;HR /&gt;&lt;/BLOCKQUOTE&gt;&lt;P&gt;No.&lt;/P&gt;&lt;P&gt;Vusb33 pin on the JM60 is different from VBUS pin on the USB connector.&lt;/P&gt;&lt;P&gt;Vusb33 is an output (power) pin for the on-chip 3.3V regulator, to attach bypass capacitor.&lt;/P&gt;&lt;P&gt;As you need to detect plug-in at the USB connector, VBUS (5V) pin on the connector shows it.&lt;/P&gt;&lt;BLOCKQUOTE&gt;&lt;HR /&gt;&lt;P&gt;By the way I am using PTG0 to execute a function in my code. If I connect it to VBUS, It will conflict with the voltage on the pin and my push button won't work any more.&lt;/P&gt;&lt;HR /&gt;&lt;/BLOCKQUOTE&gt;&lt;P&gt;Then, assign another port to VBUS detection.&lt;/P&gt;&lt;P&gt;Any port will do, if it is set up to input (default after power up).&lt;/P&gt;&lt;P&gt;After connecting another port on JM60 to VBUS pin on the connector, modify&amp;nbsp;PTGD_PTGD0 to the port on&amp;nbsp;Usb_Drv.c&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;PRE&gt;Usb_Drv.cvoid Check_USBBus_Status(void){    #ifdef SELF_POWER    if(PTGD_PTGD0 == USB_BUS_ATTACHED)         /* Is JM60 attached on USB bus? */     {      #endif&lt;/PRE&gt;&lt;P&gt;&amp;nbsp;PTGD_PTGD0 appears just here in the entire source code.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Tsuneo&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 29 Oct 2020 09:47:48 GMT</pubDate>
      <guid>https://community.nxp.com/t5/8-bit-Microcontrollers/Keyboard-Disables-When-No-USB-Connection-In-MC9S08JM60-Demo/m-p/193668#M15113</guid>
      <dc:creator>Tsuneo</dc:creator>
      <dc:date>2020-10-29T09:47:48Z</dc:date>
    </item>
    <item>
      <title>Re: Keyboard Disables When No USB Connection In MC9S08JM60 Demo board</title>
      <link>https://community.nxp.com/t5/8-bit-Microcontrollers/Keyboard-Disables-When-No-USB-Connection-In-MC9S08JM60-Demo/m-p/193669#M15114</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi Tsuneo,&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Thank you so much for thehelpful information and sorry about the delay in reply back to your message.&lt;/P&gt;&lt;P&gt;When you said the problem was Check_USBBus_Status() function I used a trick to bypass it in main.c in the absence of VBUS. Something like:&lt;/P&gt;&lt;P&gt;//&lt;/P&gt;&lt;P&gt;if(PTGD_PTGD3) {&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; USBATTACHED = TRUE;&lt;BR /&gt;&amp;nbsp;}&lt;/P&gt;&lt;P&gt;//&lt;/P&gt;&lt;P&gt;and in for( ; &lt;IMG alt=":smileywink:" class="emoticon emoticon-smileywink" id="smileywink" src="http://freescale.i.lithium.com/i/smilies/16x16_smiley-wink.gif" title="Smiley Wink" /&gt; loop:&lt;/P&gt;&lt;P&gt;//&lt;/P&gt;&lt;P&gt;if(USBATTACHED)&lt;/P&gt;&lt;P&gt;{&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Check_USBBus_Status();&lt;BR /&gt;} &amp;nbsp;&lt;/P&gt;&lt;P&gt;//&lt;/P&gt;&lt;P&gt;This was a quick fix for the problem and painful for the user to change the mode at Reset . I got what you said about the VBUS assignment to (any) input ports, but because I already made my PCB for the device I am making with S08JM60, I have to modify it to make the self power detection happens.&lt;/P&gt;&lt;P&gt;Again I truly appreciate your respond to my info. request.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Best Regards&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Red&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 30 Apr 2010 22:52:27 GMT</pubDate>
      <guid>https://community.nxp.com/t5/8-bit-Microcontrollers/Keyboard-Disables-When-No-USB-Connection-In-MC9S08JM60-Demo/m-p/193669#M15114</guid>
      <dc:creator>RedInVan</dc:creator>
      <dc:date>2010-04-30T22:52:27Z</dc:date>
    </item>
    <item>
      <title>Re: Keyboard Disables When No USB Connection In MC9S08JM60 Demo board</title>
      <link>https://community.nxp.com/t5/8-bit-Microcontrollers/Keyboard-Disables-When-No-USB-Connection-In-MC9S08JM60-Demo/m-p/193670#M15115</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;BLOCKQUOTE&gt;&lt;HR /&gt;&lt;P&gt;When you said the problem was Check_USBBus_Status() function I used a trick to bypass it in main.c in the absence of VBUS. Something like:&lt;/P&gt;&lt;P&gt;//&lt;/P&gt;&lt;P&gt;if(PTGD_PTGD3) {&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; USBATTACHED = TRUE;&lt;BR /&gt;&amp;nbsp;}&lt;/P&gt;&lt;P&gt;//&lt;/P&gt;&lt;P&gt;and in for( &amp;nbsp;; &amp;nbsp;; ) loop:&lt;/P&gt;&lt;P&gt;//&lt;/P&gt;&lt;P&gt;if(USBATTACHED)&lt;/P&gt;&lt;P&gt;{&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Check_USBBus_Status();&lt;BR /&gt;} &amp;nbsp;&lt;/P&gt;&lt;P&gt;//&lt;/P&gt;&lt;P&gt;This was a quick fix for the problem and painful for the user to change the mode at Reset .&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;HR /&gt;&lt;/BLOCKQUOTE&gt;&lt;P&gt;It means that your board always enables USB engine, D+ pull-up resistor and USB interrupt.&lt;/P&gt;&lt;DIV&gt;This may make troubles, while USB connector is not plugged in.&lt;/DIV&gt;&lt;DIV&gt;a) Spurious USB interrupt may occur by noise&lt;/DIV&gt;&lt;DIV&gt;b) Enabled D+ pull-up while VBUS power down is not compliant to USB spec.&lt;/DIV&gt;&lt;DIV&gt;Your board doesn't pass USB-IF compliance test, if you would apply to it.&lt;/DIV&gt;&lt;DIV&gt;Depending on PC, leakage current through the pull-up causes trouble on the PC.&lt;/DIV&gt;&lt;DIV&gt;For self-powered device, VBUS detection is required.&lt;/DIV&gt;&lt;DIV&gt;For bus-powered, it doesn't need but brown-out reset.&lt;/DIV&gt;&lt;DIV&gt;Tsuneo&lt;/DIV&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Sun, 02 May 2010 05:41:02 GMT</pubDate>
      <guid>https://community.nxp.com/t5/8-bit-Microcontrollers/Keyboard-Disables-When-No-USB-Connection-In-MC9S08JM60-Demo/m-p/193670#M15115</guid>
      <dc:creator>Tsuneo</dc:creator>
      <dc:date>2010-05-02T05:41:02Z</dc:date>
    </item>
    <item>
      <title>Re: Keyboard Disables When No USB Connection In  MC9S08JM60 Demo board</title>
      <link>https://community.nxp.com/t5/8-bit-Microcontrollers/Keyboard-Disables-When-No-USB-Connection-In-MC9S08JM60-Demo/m-p/193671#M15116</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi Tsuneo,&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Sorry about bothering you again. It seems like I need to know much more about USB configurations than I know know.&lt;/P&gt;&lt;P&gt;I took the Check_USBBus_Status(); out of the if condition in the main.c for loop and commented the USB_Suspend() in Check_USBBus_Status(void) as you previously said to do. I also defined another input port to check the VBUS and called it USB_PWR.&lt;/P&gt;&lt;P&gt;so in&amp;nbsp; Usb_Drv.c I have:&lt;/P&gt;&lt;P&gt;void Check_USBBus_Status(void)&lt;BR /&gt;{&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; #ifdef SELF_POWER&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; if(USB_PWR == USB_BUS_ATTACHED)&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; /* Is JM60 attached on USB bus? */&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; { &amp;nbsp;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; #endif&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; if(CTL_USBEN == 0)&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; /* JM60 module off ? */&lt;BR /&gt;&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; EPCTL0 = 0x0D;&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; INTSTAT = 0xBF;&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; CTL = 0x00;&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; INTENB = 0x00;&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; /* disable USB interrupt*/&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; CTL_USBEN = 0x01;&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; /* enable module */&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; USBCTL0 = UCFG_VAL;&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; /* attach JM60 to USB bus*/&lt;BR /&gt;&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; Usb_Device_State = ATTACHED_STATE;&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; }&lt;BR /&gt;&amp;nbsp;&lt;BR /&gt;&amp;nbsp;&amp;nbsp; #ifdef SELF_POEWER&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; else&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; if(CTL_USBEN == 1)&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; JM60 USB on ?*/&lt;BR /&gt;&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; CTL = 0x00;&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; /* disable module */&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; INTENB = 0x00;&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; /* mask USB interrupt*/&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; Usb_Device_State = POWERED_STATE;&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; }&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;BR /&gt;&amp;nbsp;&amp;nbsp; #endif&lt;BR /&gt;&amp;nbsp; &amp;nbsp;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; if(Usb_Device_State == ATTACHED_STATE)&lt;BR /&gt;&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; INTSTAT = 0xBF;&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; /*clear USB interrupts*/&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; INTENB = 0xBF;&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;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; if(Usb_Device_State == USB_ENTER_SUSPEND)&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; //&amp;nbsp; USB_Suspend();&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;BR /&gt;}&lt;/P&gt;&lt;P&gt;///////////////////////////////////////////////////////////////////////////////////////////////////////////&lt;/P&gt;&lt;P&gt;and in main.c for loop I have:&lt;/P&gt;&lt;P&gt;&amp;nbsp;for(;&lt;IMG alt=":smileywink:" class="emoticon emoticon-smileywink" id="smileywink" src="http://freescale.i.lithium.com/i/smilies/16x16_smiley-wink.gif" title="Smiley Wink" /&gt;&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;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; /* USB Manager, please keep it in main Loop */&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Check_USBBus_Status();&lt;/P&gt;&lt;P&gt;if (ButtonPressed)&lt;BR /&gt;&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; // Data sent to UI in EP2&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; // MASEG_proc(SWITCHES_PORT);&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; EP2_Buffer[0] = MASEG_proc(SWITCHES_PORT);&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; EndPoint_IN(EP2,8);&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; //send data&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;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ButtonPressed = CLEAR;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; //clear ButtonPressed flag&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; KBI_ENABLE();&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; //enable KBI&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;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;&lt;/P&gt;&lt;P&gt;}&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;And as I mentioned before I am using "ButtonPressed" event to check my keyboard pressing events, so I cannot use if condition like:&lt;/P&gt;&lt;PRE&gt;if (Usb_Device_State == CONFIGURED_STATE)     // run this contents just when USB connection is established
&lt;/PRE&gt;&lt;PRE&gt;{
        if (ButtonPressed)
        {
            // If there is any change in the switches, send the status
            EP2_Buffer[0] = SWITCHES_PORT; //assign value of the push buttons to EP2 buffer
            EndPoint_IN(EP2,8);            //send data
            ButtonPressed = 0;             //clear ButtonPressed flag
            KBI_ENABLE();                  //enable KBI
        }
}
&lt;/PRE&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;And the keyboard is not working in Self_Powered mode(using external Voltage), if I don't do the following in the main.c:&lt;/P&gt;&lt;P&gt;if(USB_PWR) {&lt;BR /&gt;&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; USBATTACHED = TRUE;&lt;BR /&gt;&amp;nbsp; }&lt;/P&gt;&lt;P&gt;//&lt;/P&gt;&lt;P&gt;if(USBATTACHED)&lt;/P&gt;&lt;P&gt;{&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Check_USBBus_Status();&lt;BR /&gt;} &amp;nbsp;&lt;/P&gt;&lt;P&gt;//&lt;/P&gt;&lt;P&gt;If you need more information please let me know and thank you so much for your time and attention.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Regards,&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Red&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 29 Oct 2020 09:47:50 GMT</pubDate>
      <guid>https://community.nxp.com/t5/8-bit-Microcontrollers/Keyboard-Disables-When-No-USB-Connection-In-MC9S08JM60-Demo/m-p/193671#M15116</guid>
      <dc:creator>RedInVan</dc:creator>
      <dc:date>2020-10-29T09:47:50Z</dc:date>
    </item>
    <item>
      <title>Re: Keyboard Disables When No USB Connection In  MC9S08JM60 Demo board</title>
      <link>https://community.nxp.com/t5/8-bit-Microcontrollers/Keyboard-Disables-When-No-USB-Connection-In-MC9S08JM60-Demo/m-p/193672#M15117</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;As I told on my above post, enclose just the endpoint operation in the "if (Usb_Device_State == CONFIGURED_STATE)" clause.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;PRE&gt;if (ButtonPressed){                                              // If there is any change in the switches,                                               //   send the status    EP2_Buffer[0] = SWITCHES_PORT;             // Assign value of the push buttons to EP2 buffer    if (Usb_Device_State == CONFIGURED_STATE)  // Run this contents     {                                          //   just when USB connection is established        EndPoint_IN(EP2,8);                    // Send data    }    ButtonPressed = 0;                         // Clear ButtonPressed flag    KBI_ENABLE();                              // Enable KBI}&lt;/PRE&gt;&lt;P&gt;&amp;nbsp;Tsuneo&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 29 Oct 2020 09:47:52 GMT</pubDate>
      <guid>https://community.nxp.com/t5/8-bit-Microcontrollers/Keyboard-Disables-When-No-USB-Connection-In-MC9S08JM60-Demo/m-p/193672#M15117</guid>
      <dc:creator>Tsuneo</dc:creator>
      <dc:date>2020-10-29T09:47:52Z</dc:date>
    </item>
    <item>
      <title>Re: Keyboard Disables When No USB Connection In  MC9S08JM60 Demo board</title>
      <link>https://community.nxp.com/t5/8-bit-Microcontrollers/Keyboard-Disables-When-No-USB-Connection-In-MC9S08JM60-Demo/m-p/193673#M15118</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi Tsuneo,&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Thank you very much for the respond. I decided to attach all the related files from my project for you to see, because whatever you told me I did but the keyboard still won't work in Self_Powered Condition unless I use the if condition in main.c for the Check_USBBus_Status(); , which you said is not a good idea to do that.&lt;/P&gt;&lt;P&gt;&amp;nbsp;The attached files might give you a better picture of the project, so you might be able to tell me what might be done to fix the problem in a safe manner.&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Thank you so much for your time on that.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Regards&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Red&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 06 May 2010 02:22:13 GMT</pubDate>
      <guid>https://community.nxp.com/t5/8-bit-Microcontrollers/Keyboard-Disables-When-No-USB-Connection-In-MC9S08JM60-Demo/m-p/193673#M15118</guid>
      <dc:creator>RedInVan</dc:creator>
      <dc:date>2010-05-06T02:22:13Z</dc:date>
    </item>
  </channel>
</rss>

