This discussion has been locked.
You can no longer post new replies to this discussion. If you have a question you can start a new discussion

MDK 4 Systick and USB

Hello, I have a working LPC1758 MDK-arm 4 program that is based on the HID example.

When I set the systick to 1ms or less USB enumination fails. At 10ms all is fine, I need 1 ms for other a2d tasks.

Any ideas?

Parents
  • I see this example did not use the RTOS
    C:\Keil_v5\ARM\Boards\Keil\MCB1700\RL\USB\Device\HID\

    But if you are adjust hte systick it sounds like you may be.

    If you adjust the Systick time, are you also modifying the Timer tick value [us] in the RTX_conf_CM.c

    http://www.keil.com/support/man/docs/rlarm/rlarm_ar_cfgtimer.htm

    Did you check the PLL, USB clock configuration settings in the system_LPC17xx.c file? Especially USBCLKCFG_Val?

    Double check all clock settings - timing is critical in USB applications.

    also, when debugging your application , make sure to check the Peripherals -> System Viewer -> USB window to see the USB register values.

    You can adjust the systick while running your code using the Peripherals -> Core Peripherals-> Systick timer.

    That way you don't have to recompile your project every time while fiddling with timings.

Reply
  • I see this example did not use the RTOS
    C:\Keil_v5\ARM\Boards\Keil\MCB1700\RL\USB\Device\HID\

    But if you are adjust hte systick it sounds like you may be.

    If you adjust the Systick time, are you also modifying the Timer tick value [us] in the RTX_conf_CM.c

    http://www.keil.com/support/man/docs/rlarm/rlarm_ar_cfgtimer.htm

    Did you check the PLL, USB clock configuration settings in the system_LPC17xx.c file? Especially USBCLKCFG_Val?

    Double check all clock settings - timing is critical in USB applications.

    also, when debugging your application , make sure to check the Peripherals -> System Viewer -> USB window to see the USB register values.

    You can adjust the systick while running your code using the Peripherals -> Core Peripherals-> Systick timer.

    That way you don't have to recompile your project every time while fiddling with timings.

Children