qmk/qmk_firmware

[Bug] WS2812 PWM Does Not Work On STM32F042X

Open

#14,129 创建于 2021年8月23日

在 GitHub 查看
 (0 评论) (0 反应) (0 负责人)C (43,867 fork)batch import
bughelp wanted

仓库指标

Star
 (20,368 star)
PR 合并指标
 (平均合并 20天 9小时) (30 天内合并 27 个 PR)

描述

Describe the Bug

When using the PWM driver for the WS2812 LED's does not function (they do not light).

The normal bitbang driver functions as expected

Specific chip : STM32F042F6P7 / TSSOP20

System Information

  • Keyboard: Development breakout board
  • Operating system: Linux
  • ARM GCC version: 11.2.0
  • QMK Firmware version: master
  • Any keyboard related software installed? : NA

Additional Context

I have tested CH2 and 4 on TIM3, below is the configuration when using CH2 (A7)

config.h

#define RGBLIGHT_ANIMATIONS
#define RGB_DI_PIN A7

#define WS2812_PWM_DRIVER PWMD3 
#define WS2812_PWM_CHANNEL 2
#define WS2812_PWM_PAL_MODE 1
#define WS2812_DMA_STREAM STM32_DMA1_STREAM3
#define WS2812_DMA_CHANNEL 3

mcuconf.h

#pragma once

#include_next <mcuconf.h>

#undef STM32_PWM_USE_TIM3
#define STM32_PWM_USE_TIM3 TRUE

#define HAL_USE_PWM TRUE is enabled on halconfig and WS2812_DRIVER is set to pwm in rules.mk

贡献者指南