NVIC_SystemReset() can not reset MCU?

cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

NVIC_SystemReset() can not reset MCU?

2,625 Views
lpcware
NXP Employee
NXP Employee
Content originally posted in LPCWare by andy22 on Thu Dec 06 01:54:19 MST 2012
Hi guys
   What i want is just reset my MCU by calling the function NVIC_SystemReset(). But it doesn't work.
   I just want my configuration of report rate take effect when USB re-enumeration ,it generates errors like follows:

  33.1                                 USTS   c0000011                  xact error               2.1.0        16:22:20.768  hidclass     
  34.2                                 USTS   c0000011                  xact error               3.1.0        16:22:20.768  hidclass     
  35.3                                 USTS   c0000011                  xact error               4.1.0        16:22:20.768  hidclass     
  34                                   RESET                                                     5.1.0        16:22:20.768  hidusb       
  33.1                                 USTS   c0000011                  xact error               6.1.0        16:22:20.768  hidclass     
  35.3                                 USTS   c0000011                  xact error               7.1.0        16:22:20.768  hidclass     
  34                                   ok                                                        5.2.0        16:22:21.143               
  34.2                                 RESET                                                     8.1.0        16:22:21.143  hidusb    

  how can i  re-enum the USB?  Why i can't capture the command such as GET DESCRIPTOR?
  thanks 
Labels (1)
0 Kudos
Reply
4 Replies

1,829 Views
lpcware
NXP Employee
NXP Employee
Content originally posted in LPCWare by Daniel Widyanto on Tue Dec 18 23:45:09 MST 2012
Call NVIC_SystemReset() to reset the MCU. It should work if you include the correct CMSIS package. The older CMSIS version doesn't implement this.
0 Kudos
Reply

1,829 Views
lpcware
NXP Employee
NXP Employee
Content originally posted in LPCWare by andy22 on Thu Dec 13 23:40:51 MST 2012
When i put the PIO0_0/RESET pin to GND,but it can't reset successfully ,now i just simply want to reset the MCU by HW, how can i achieve it?
0 Kudos
Reply

1,829 Views
lpcware
NXP Employee
NXP Employee
Content originally posted in LPCWare by andy22 on Thu Dec 13 22:31:44 MST 2012
Hi Daniel Widyanto,
  thanks for your suggestion,but i'm a little confused about "you can just disconnect and reconnect the D+ pull up resistor (See DCON bit in DEVCMDSTAT, assuming that USB_CONNECT/PIO0_6 is connected to D+ pull up resistor) to re-enumerate your device", how i can know the USB_CONNECT/PIO0_6 is connected to D+ pull up resistor?
    I see the datasheet about the DCON :"Device status - connect.
The connect bit must be set by SW to indicate that the device must signal a connect. The pull-up resistor on USB_DP will be enabled when this bit is set and the VbusDebounced bit is one."
    The USB_DP pin is not a IO pin,how can i configure it pull-up resistor? My IC is LPC11U14,and my schematic is as follows:
0 Kudos
Reply

1,829 Views
lpcware
NXP Employee
NXP Employee
Content originally posted in LPCWare by Daniel Widyanto on Mon Dec 10 21:05:16 MST 2012
Hi,

Which device is this ? Are you using the correct CMSIS library (check your core_cm0.h) ?

If you are using the LPC11Uxx, you can just disconnect and reconnect the D+ pull up resistor (See DCON bit in DEVCMDSTAT, assuming that USB_CONNECT/PIO0_6 is connected to D+ pull up resistor) to re-enumerate your device.

Your problem with GET_DESCRIPTOR is the problem with your USB analyzer. You need to ask your USB analyzer support to resolve this.
0 Kudos
Reply