Pulse width modulation (PWM) via direct memory transfer (DMA) on the Raspberry PI
-
Updated
Oct 20, 2022 - C
Pulse width modulation (PWM) via direct memory transfer (DMA) on the Raspberry PI
This library enables you to use Interrupt from Hardware Timers on an ESP8266-based board to create and output PWM to pins. It now supports 16 ISR-based synchronized PWM channels, while consuming only 1 Hardware Timer. PWM interval can be very long (uint32_t millisecs). The most important feature is they're ISR-based PWM channels. Therefore, thei…
This wrapper library enables you to use Hardware-based PWM on STM32F/L/H/G/WB/MP1 boards to create and output PWM to pins. The most important feature is they're purely hardware-based PWM channels. Therefore, their executions are very precise and not blocked by bad-behaving functions or tasks. This important feature is absolutely necessary for mi…
This library enables you to use ISR-based PWM channels on RP2040-based boards, such as ADAFRUIT_FEATHER_RP2040, RASPBERRY_PI_PICO, with arduino-pico core to create and output PWM any GPIO pin. The most important feature is they're ISR-based PWM channels, supporting lower PWM frequencies with suitable accuracy. Their executions are not blocked by…
This library enables you to use ISR-based PWM channels on AVR-based boards, such as Mega-2560, UNO,Nano, Leonardo, etc., to create and output PWM any GPIO pin. It now supports 16 ISR-based PWM channels, while consuming only 1 Hardware Timer. PWM channel interval can be very long (ulong microsecs / millisecs). The most important feature is they'r…
This library enables you to use Hardware-based PWM channels on Generic boards to use PWM to control continuous Stepper Motor. The most important feature is they're purely hardware-based PWM channels, supporting very high PWM frequencies. Therefore, their executions are not blocked by bad-behaving functions or tasks
This library enables you to use Hardware Timers on an STM32H7-based Portenta_H7 board to create and output PWM to pins. These PWM channels, using Portenta_H7 Hardware Timers, still work even if other functions are blocking. Moreover, they are much more precise (certainly depending on clock frequency accuracy) than other software or ISR-based PWM…
This library enables you to use ISR-based PWM channels on RP2040-based boards, such as Nano_RP2040_Connect, RASPBERRY_PI_PICO, with Arduino-mbed (mbed_nano or mbed_rp2040) core to create and output PWM any GPIO pin. The most important feature is they're ISR-based PWM channels, supporting lower PWM frequencies with suitable accuracy. Their execut…
This library enables you to use Hardware Timers on nRF52840-based Nano_33_BLE or Nano_33_BLE_Sense board to create and output PWM to pins. These PWM channels, using nRF52840 Hardware Timers, still work even if other functions are blocking. Moreover, they are much more precise (certainly depending on clock frequency accuracy) than other software …
This library enables you to use Hardware Timers on RP2040-based RP2040 board to create and output PWM to pins. These PWM channels, using RP2040 Hardware-PWM channels, still work even if other functions are blocking. Moreover, they are much more precise (certainly depending on clock frequency accuracy) than other software ISR-based PWM, using mil…
This library enables you to use Hardware Timers on STM32F/L/H/G/WB/MP1 boards to create and output PWM to pins. The most important feature is they're purely hardware-based PWM channels. Therefore, their executions are not blocked by bad-behaving functions or tasks. This important feature is absolutely necessary for mission-critical tasks. These …
CULfw v1.6.7 with disabled duty cycle restrictions
This library enables you to use ISR-based PWM channels on Arduino megaAVR boards, such as UNO WiFi Rev2, AVR_Nano_Every, etc., to create and output PWM any GPIO pin. It now supports 16 ISR-based PWM channels, while consuming only 1 Hardware Timer. PWM channel interval can be very long (ulong microsecs / millisecs). The most important feature is …
👯 MP3_Player_using_ARM_Cortex_M3 👯 this project is an implementation of R2R DAC
This library enables you to use Hardware Timers on an STM32H7-based Portenta_H7 board to create and output PWM to pins. It now supports 16 ISR-based PWM-channels, while consuming only 1 Hardware Timer. They are much more precise (certainly depending on clock frequency accuracy) than other software PWM using millis() or micros(). That's mandatory…
This library enables you to use ISR-based PWM channels on AVR ATmega164, ATmega324, ATmega644, ATmega1284 with MCUdude MightyCore, to create and output PWM any GPIO pin. It now supports 16 ISR-based PWM channels, while consuming only 1 Hardware Timer. PWM channel interval can be very long (ulong microsecs / millisecs). The most important feature…
This library enables you to use ISR-based PWM channels on an nRF52-based board using Arduino-mbed mbed_nano core such as Nano-33-BLE to create and output PWM any GPIO pin. It now supports 16 ISR-based PWM channels, while consuming only 1 Hardware Timer. PWM channel interval can be very long (ulong microsecs / millisecs). The most important featu…
This library enables you to use ISR-based PWM channels on an Arduino SAM_DUE board to create and output PWM any GPIO pin. It now supports 16 ISR-based PWM channels, while consuming only 1 Hardware Timer. PWM channel interval can be very long (ulong microsecs / millisecs). The most important feature is they're ISR-based PWM channels, supporting l…
This library enables you to use ISR-based PWM channels on Arduino AVRDx-based boards (AVR128Dx, AVR64Dx, AVR32Dx, etc.), using DxCore, to create and output PWM any GPIO pin. It now supports up to 64 ISR-based PWM channels, while consuming only 1 Hardware Timer. PWM channel interval can be very long (ulong microsecs / millisecs). The most importa…
Alternative culfw. This fork of a-culfw removes the duty cycle limitation, see branch no-duty-cycle.
Add a description, image, and links to the duty-cycle topic page so that developers can more easily learn about it.
To associate your repository with the duty-cycle topic, visit your repo's landing page and select "manage topics."