MCUXpresso SDK Documentation

dsc_qtmr_timer

dsc_qtmr_timer#

Overview#

The QTMR project is a simple demonstration program of the SDK QTMR driver to use QTMR as a timer. The quad-timer module provides four timer channels with a variety of controls affecting both individual and multi-channel features. It sets up the QTMR hardware block to trigger an interrupt every 50 millisecond. When chaining the first channel and the second channel, Timer interrupt occur every 10 second. When the QTMR interrupt is triggered a message a printed on the UART terminal. In lots of RT10x devices, overflow flag and related interrupt cannot be generated successfully in upward count mode (ERRATA050194), the workaround is to use compare interrupt instead of overflow interrupt by setting compare value to 0xFFFF, the compare interrupt has the same timing effect as overflow interrupt in this way. So we add a new demo scene like that, when setting the compare value to 0xFFFF, Timer compare interrupt occurs every 65.5 seconds.

Supported Boards#

MC56F80000-EVK
Hardware requirements
  • Micro USB cable

  • MC56F80000-EVK board

  • Personal Computer

Board hardware common setting
  1. Power setting:

    Connect J8 pin2 and pin3 Connect J6 pin1 and pin2 Connect J5 pin1 and pin2

  2. Reset pin setting:

    Connect J11 pin2 and pin3

  3. Debugger setting:

    Connect J13 pin 1-2, 3-4, 5-6, 7-8

Board settings

No special settings are required.

Prepare the Demo
  1. Connect USB cable between the host PC and the J12 USB port on the target board. It setups Multilink and COM port in PC device manager.

  2. Open a serial terminal with the following settings:

    • 115200 baud rate

    • 8 data bits

    • No parity

    • One stop bit

    • No flow control

  3. Download the program to the target board with Multilink debug configuration.

  4. Launch the debugger in your IDE to begin running the demo.

Running the demo

When the demo runs successfully, the following message is displayed in the terminal:

*********QUADTIMER EXAMPLE START*********
****Timer use-case, 50 millisecond tick.****

 Timer interrupt has occurred !
 Timer interrupt has occurred !
 Timer interrupt has occurred !
 Timer interrupt has occurred !
 Timer interrupt has occurred !
 Timer interrupt has occurred !
 Timer interrupt has occurred !
 Timer interrupt has occurred !
 Timer interrupt has occurred !
 Timer interrupt has occurred !
****Chain Timer use-case, 10 second tick.****

 Timer interrupt has occurred !
 Timer interrupt has occurred !
 Timer interrupt has occurred !
 Timer interrupt has occurred !
 Timer interrupt has occurred !
****Timer use-case, Over flow Test.****

 Timer Overflow has occurred !
*********QUADTIMER EXAMPLE END.*********
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
MC56F81000-EVK
Hardware requirements
  • 2 x Micro USB cable

  • MC56F81000-EVK board

  • Personal Computer

Board hardware common setting
  1. Power setting:

    Connect J8 pin2 and pin3 Connect J5 pin1 and pin2 Connect J6 pin1 and pin2

  2. Onboard PnE U-MultiLink debugger setting:

    Connet J11 pin2 and pin3 Connect J13 pin 1-2, 3-4, 5-6, 7-8, to setup onboard debugger PnE U-MultiLink. Note: when use external debugger(connected to J10), leave all J13 pins open.

Board settings

No special settings are required.

Prepare the Demo
  1. Connect USB cable between the host PC and the USB(J26) port on the target board to setup USB to UART bridge.

  2. Connect USB cable between the host PC and the USB(J12) port on the target baord to setup mulitlink debugger.

  3. Open a serial terminal with the following settings:

    • 115200 baud rate

    • 8 data bits

    • No parity

    • One stop bit

    • No flow control

  4. Download the program to the target board with PnE U-MultiLink debug configuration.

  5. Either press the reset button on your board or launch the debugger in your IDE to begin running the demo. Please be noted default FCF(flash configuration field) makes the MCU boot from flash.

Running the demo

When the demo runs successfully, the following message is displayed in the terminal:

*********QUADTIMER EXAMPLE START*********
****Timer use-case, 50 millisecond tick.****

 Timer interrupt has occurred !
 Timer interrupt has occurred !
 Timer interrupt has occurred !
 Timer interrupt has occurred !
 Timer interrupt has occurred !
 Timer interrupt has occurred !
 Timer interrupt has occurred !
 Timer interrupt has occurred !
 Timer interrupt has occurred !
 Timer interrupt has occurred !
****Chain Timer use-case, 10 second tick.****

 Timer interrupt has occurred !
 Timer interrupt has occurred !
 Timer interrupt has occurred !
 Timer interrupt has occurred !
 Timer interrupt has occurred !
****Timer use-case, Over flow Test.****

 Timer Overflow has occurred !
*********QUADTIMER EXAMPLE END.*********
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
MC56F83000-EVK
Hardware requirements
  • Micro USB cable

  • MC56F83000-EVK board

  • Personal Computer

Board hardware common setting
  1. Power setting:

    Connect J19 pin2 and pin3 Connect J12 pin1 and pin2 Connect J13 pin1 and pin2 Connect J15 pin1 and pin2 Connect J16 pin2 and pin3 Connect J17 pin1 and pin2

  2. Onboard OSJTAG debugger setting:

    Leave J5 open Leave J6 open Note: J6 is only used(connected) when firmware update for onboard debugger OSJTAG. Connect J11 pin 1-2, 3-4, 5-6, 7-8, to setup onboard debugger OSJTAG. Note: when use external debugger(connected to J10), leave all J11 pins open.

Board settings

No special settings are required.

Prepare the Demo
  1. Connect USB cable between the host PC and the JM60 USB(J8) port on the target board. It setups OSJTAG and COM port in PC device manager.

  2. Open a serial terminal with the following settings:

    • 115200 baud rate

    • 8 data bits

    • No parity

    • One stop bit

    • No flow control

  3. Download the program to the target board with OSJTAG debug configuration.

  4. Either press the reset button on your board or launch the debugger in your IDE to begin running the demo. Please be noted that default FCF(flash configuration field) setting makes MCU boot from bootloader. So after reset button press, it will wait 5s(wait in bootloader) to run the application code.

Running the demo

When the demo runs successfully, the following message is displayed in the terminal:

*********QUADTIMER EXAMPLE START*********
****Timer use-case, 50 millisecond tick.****

 Timer interrupt has occurred !
 Timer interrupt has occurred !
 Timer interrupt has occurred !
 Timer interrupt has occurred !
 Timer interrupt has occurred !
 Timer interrupt has occurred !
 Timer interrupt has occurred !
 Timer interrupt has occurred !
 Timer interrupt has occurred !
 Timer interrupt has occurred !
****Chain Timer use-case, 10 second tick.****

 Timer interrupt has occurred !
 Timer interrupt has occurred !
 Timer interrupt has occurred !
 Timer interrupt has occurred !
 Timer interrupt has occurred !
****Timer use-case, Over flow Test.****

 Timer Overflow has occurred !
*********QUADTIMER EXAMPLE END.*********
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
TWR-MC56F8200
Hardware requirements
  • Mini USB cable

  • TWR-MC56F8200 board

  • Personal Computer

Board hardware common setting
  1. HW reworkd(workaround):

    Connect J18(the mini USB port) pin4 and pin5. Note: This is due to HW design error, correct setting should be: J18 pin4 left empty and pin5 connected GND.

  2. Power setting:

    Connect J11 pin1 and pin2 Connect J6 pin1 and J7 pin2

  3. UART setting:

    Connect J8 pin3 and pin4 Connect J9 pin3 and pin4

  4. Onboard OSJTAG debugger setting:

    Connect J20 pin1 and pin2. Leave J17 open. Note: J17 is only used(connected) when firmware update for onboard debugger OSJTAG. Connect J21 pin 1-2, 3-4, 5-6, 7-8, to setup onboard debugger OSJTAG. Note: when use external debugger(connected to J14), leave all J21 pins open

Board settings

No special settings are required.

Prepare the Demo
  1. Connect USB cable between the host PC and the JM60 USB(J18) port on the target board. It setups OSJTAG and COM port in PC device manager.

  2. Open a serial terminal with the following settings:

    • 115200 baud rate

    • 8 data bits

    • No parity

    • One stop bit

    • No flow control

  3. Download the program to the target board with OSJTAG debug configuration.

  4. Launch the debugger in your IDE to begin running the demo.

Running the demo

When the demo runs successfully, the following message is displayed in the terminal:

*********QUADTIMER EXAMPLE START*********
****Timer use-case, 50 millisecond tick.****

 Timer interrupt has occurred !
 Timer interrupt has occurred !
 Timer interrupt has occurred !
 Timer interrupt has occurred !
 Timer interrupt has occurred !
 Timer interrupt has occurred !
 Timer interrupt has occurred !
 Timer interrupt has occurred !
 Timer interrupt has occurred !
 Timer interrupt has occurred !
****Chain Timer use-case, 10 second tick.****

 Timer interrupt has occurred !
 Timer interrupt has occurred !
 Timer interrupt has occurred !
 Timer interrupt has occurred !
 Timer interrupt has occurred !
****Timer use-case, Over flow Test.****

 Timer Overflow has occurred !
*********QUADTIMER EXAMPLE END.*********
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
TWR-MC56F8400
Hardware requirements
  • Mini USB cable

  • TWR-MC56F8400 board

  • Personal Computer

Board hardware common setting
  1. Power setting:

    Connect J11 pin1 and pin2 Connect J6 pin1 and J7 pin2

  2. UART setting:

    Connect J8 pin3 and pin4 Connect J9 pin3 and pin4

  3. Onboard OSJTAG debugger setting:

    Connect J20 pin1 and pin2. Leave J17 open. Note: J17 is only used(connected) when firmware update for onboard debugger OSJTAG. Connect J21 pin 1-2, 3-4, 5-6, 7-8, to setup onboard debugger OSJTAG. Note: when use external debugger(connected to J14), leave all J21 pins open

Board settings

No special settings are required.

Prepare the Demo
  1. Connect USB cable between the host PC and the JM60 USB(J18) port on the target board. It setups OSJTAG and COM port in PC device manager.

  2. Open a serial terminal with the following settings:

    • 115200 baud rate

    • 8 data bits

    • No parity

    • One stop bit

    • No flow control

  3. Download the program to the target board with OSJTAG debug configuration.

  4. Launch the debugger in your IDE to begin running the demo.

Running the demo

When the demo runs successfully, the following message is displayed in the terminal:

*********QUADTIMER EXAMPLE START*********
****Timer use-case, 50 millisecond tick.****

 Timer interrupt has occurred !
 Timer interrupt has occurred !
 Timer interrupt has occurred !
 Timer interrupt has occurred !
 Timer interrupt has occurred !
 Timer interrupt has occurred !
 Timer interrupt has occurred !
 Timer interrupt has occurred !
 Timer interrupt has occurred !
 Timer interrupt has occurred !
****Chain Timer use-case, 10 second tick.****

 Timer interrupt has occurred !
 Timer interrupt has occurred !
 Timer interrupt has occurred !
 Timer interrupt has occurred !
 Timer interrupt has occurred !
****Timer use-case, Over flow Test.****

 Timer Overflow has occurred !
*********QUADTIMER EXAMPLE END.*********
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~