writePWMFrequency

Writes PWM frequency to a GPIO pin

Syntax

writePWMFrequency(mypi, pinNumber, frequency)

Description

writePWMFrequency(mypi, pinNumber, frequency) writes the frequency of the output square wave to the output pin.

The PWM uses a software implementation allowing all GPIO pins on theRaspberry Pi™ hardware board to output a PWM signal. Each PWM pin outputs a square waveform with variable frequency, duty cycle, or average voltage. A duty cycle of 0 means the waveform is always low and a duty cycle of 1 means the waveform is always high.

To use a PWM pin, reconfigure one of the multiple-use GPIO pins as a PWM pin.

Input Arguments

collapse all

Connection to a specific Raspberry Pi hardware board, specified as a raspi object.

GPIO pin number, specified as a scalar. This argument does not accept vectors because the hardware cannot access multiple pins simultaneously.

To get a list of valid pin numbers, enter mypi.AvailableDigitalPins.

Example: 12

Data Types: double

Frequency to assign to output pin, in Hz. The value is constrained to the minimum and maximum values that the PWM hardware can support.

Example: 8000

Examples

collapse all

Enable PWM pin 12 and set the frequency and duty cycle.

mypi = raspi();
configurePin(mypi, 12, 'PWM');
writePWMDutyCycle(mypi, 12, 0.5);
writePWMFrequency(mypi, 12, 2000);

The result is a square wave with a 50.0% duty cycle, frequency of 2000 hertz, and average voltage of 1.65 V.

Extended Capabilities

C/C++ Code Generation
Generate C and C++ code using MATLAB® Coder™.

Introduced in R2016b