MCUXpresso SDK Documentation

flexio3_pwm

flexio3_pwm#

Overview#

This demo describes how to use SDK drivers to implement the PWM feature by FLEXIO IP module. It outputs the PWM singal with fixed frequency defined by “DEMO_FLEXIO_FREQUENCY” in source code and dynamic duty from 99 to 1 to one of the FLEXIO pins.

Supported Boards#

MIMXRT1060-EVKB
Hardware requirements
  • Mini/micro USB cable

  • MIMXRT1060-EVKB board

  • Personal Computer

  • Oscilloscope

Board settings

No special is needed. Use oscilloscope to measure the output 48KHz PWM signal pin at J16-7 pin.

Prepare the Demo
  1. Connect a USB cable between the PC host and the OpenSDA USB port on the board.

  2. Open a serial terminal with these settings:

    • 115200 baud rate

    • 8 data bits

    • No parity

    • One stop bit

    • No flow control

  3. Download the program to the target board.

  4. Either press the reset button on your board or launch the debugger in your IDE to begin running the example.

Running the demo

When the example runs successfully, if the input duty cycle range is 0~100, You can see similar information from the terminal as follows:

FLEXIO_PWM demo start.

Please input a value (0 - 100) to set duty cycle: 10
Input value is 10

PWM duty cycle is: 10
PWM leave is: 0

Please input a value (0 - 100) to set duty cycle: 150
Input value is 150
Your value is output of range.
Set pwm output to IDLE.

Please input pwm idle status (0 or 1): 1
Input IDLE state value is 1

PWM leave is: 1 

Please input a value (0 - 100) to set duty cycle: 
......

Note:

  1. The duty cycle of the PWM is variable, except for the idle state, 0 and 100.

  2. If the input duty cycle range exceeds 100, the pwm will be set to idle state

  3. If the set pwm idle value is out of range, it will output “Your value is output of range.” and then return to set the duty cycle.

MIMXRT1060-EVKC
Hardware requirements
  • Mini/micro USB cable

  • MIMXRT1060-EVKC board

  • Personal Computer

  • Oscilloscope

Board settings

No special is needed. Use oscilloscope to measure the output 48KHz PWM signal pin at J16-7 pin.

Prepare the Demo
  1. Connect a USB cable between the PC host and the OpenSDA USB port on the board.

  2. Open a serial terminal with these settings:

    • 115200 baud rate

    • 8 data bits

    • No parity

    • One stop bit

    • No flow control

  3. Download the program to the target board.

  4. Either press the reset button on your board or launch the debugger in your IDE to begin running the example.

Running the demo

When the example runs successfully, if the input duty cycle range is 0~100, You can see similar information from the terminal as follows:

FLEXIO_PWM demo start.

Please input a value (0 - 100) to set duty cycle: 10
Input value is 10

PWM duty cycle is: 10
PWM leave is: 0

Please input a value (0 - 100) to set duty cycle: 150
Input value is 150
Your value is output of range.
Set pwm output to IDLE.

Please input pwm idle status (0 or 1): 1
Input IDLE state value is 1

PWM leave is: 1 

Please input a value (0 - 100) to set duty cycle: 
......

Note:

  1. The duty cycle of the PWM is variable, except for the idle state, 0 and 100.

  2. If the input duty cycle range exceeds 100, the pwm will be set to idle state

  3. If the set pwm idle value is out of range, it will output “Your value is output of range.” and then return to set the duty cycle.

MIMXRT1040-EVK
Hardware requirements
  • Mini/micro USB cable

  • MIMXRT1040-EVK board

  • Personal Computer

  • Oscilloscope

Board settings

No special is needed. Use oscilloscope to measure the output 48KHz PWM signal pin at J16-7 pin.

Prepare the Demo
  1. Connect a USB cable between the PC host and the OpenSDA USB port on the board.

  2. Open a serial terminal with these settings:

    • 115200 baud rate

    • 8 data bits

    • No parity

    • One stop bit

    • No flow control

  3. Download the program to the target board.

  4. Either press the reset button on your board or launch the debugger in your IDE to begin running the example.

Running the demo

When the example runs successfully, if the input duty cycle range is 0~100, You can see similar information from the terminal as follows:

FLEXIO_PWM demo start.

Please input a value (0 - 100) to set duty cycle: 10
Input value is 10

PWM duty cycle is: 10
PWM leave is: 0

Please input a value (0 - 100) to set duty cycle: 150
Input value is 150
Your value is output of range.
Set pwm output to IDLE.

Please input pwm idle status (0 or 1): 1
Input IDLE state value is 1

PWM leave is: 1 

Please input a value (0 - 100) to set duty cycle: 
......

Note:

  1. The duty cycle of the PWM is variable, except for the idle state, 0 and 100.

  2. If the input duty cycle range exceeds 100, the pwm will be set to idle state

  3. If the set pwm idle value is out of range, it will output “Your value is output of range.” and then return to set the duty cycle.

EVK-MIMXRT1064
Hardware requirements
  • Mini/micro USB cable

  • EVK-MIMXRT1064 board

  • Personal Computer

  • Oscilloscope

Board settings

No special is needed. Use oscilloscope to measure the output 48KHz PWM signal pin at J22-7 pin.

Prepare the Demo
  1. Connect a USB cable between the PC host and the OpenSDA USB port on the board.

  2. Open a serial terminal with these settings:

    • 115200 baud rate

    • 8 data bits

    • No parity

    • One stop bit

    • No flow control

  3. Download the program to the target board.

  4. Either press the reset button on your board or launch the debugger in your IDE to begin running the example.

Running the demo

When the example runs successfully, if the input duty cycle range is 0~100, You can see similar information from the terminal as follows:

FLEXIO_PWM demo start.

Please input a value (0 - 100) to set duty cycle: 10
Input value is 10

PWM duty cycle is: 10
PWM leave is: 0

Please input a value (0 - 100) to set duty cycle: 150
Input value is 150
Your value is output of range.
Set pwm output to IDLE.

Please input pwm idle status (0 or 1): 1
Input IDLE state value is 1

PWM leave is: 1 

Please input a value (0 - 100) to set duty cycle: 
......

Note:

  1. The duty cycle of the PWM is variable, except for the idle state, 0 and 100.

  2. If the input duty cycle range exceeds 100, the pwm will be set to idle state

  3. If the set pwm idle value is out of range, it will output “Your value is output of range.” and then return to set the duty cycle.