Image
Image

caoyunhj2301

+ 关注

粉丝 2     |     主题 39     |     回帖 298

关于STM32利用TIM+PWM+DMA控制WS2812
2023-12-19 22:28
  • ST MCU
  • 25
  • 2290
  然后生成文件,打开工程 新建一个 NEW GROUP 创建WS2812.h WS2812.c文件  
  ......  
  (HAL_TIM_PWM_PulseFinishedCallback() 是一个回调函数,当DMA传输完成以后,就会调用这个函数,由于本文D ...  
  ......  
  DMA 进入正题 TIM+DMA配置  
  htim4.Instance->CCR4 = 30  
  ......  
  引入新的方式:直接修改CCRx寄存器的值  
  随便选一组,怎么方便怎么来 选PSC=1,ARR=44,ch polarity high. 波形符合理论  
  好的,这样简单的PWM配置就完成了,接下来模拟时序 WS2812时序讲解具体在这个博客,看完再跳回本页面 1码 ...  
  看图可得出以下数据: PSC=71 向上计数模式 ARR=499 >>>>>> PWM 模式1 CCRX=100 >>>>>> 通道输出极 ...  
  看的出来是低电平20% 高电平80% 频率2KHZ 那么是怎么配置出来的呢  
  看下示波器效果  
  设置的电平那么我们直接配置好 在中加入使能代码 HAL_TIM_PWM_Start(&htim4,TIM_CHANNEL_4); ...  
  CNT为计数器当前值 那么其中的逻辑是这样的 当CNT小于CCRx时,TIMx_CHx通道输出设置的电平; 当CNT等于或 ...  
  CCRX为捕获/比较寄存器值  
  ARR就是自动重装载值  
  也就是外部时钟TCLK=72mhz 同时引进定时器的原理 向上计数模式UP  
  这边选用了PB9作为TIM4_CH4通道用来做PWM输出(上述勾选去掉)  
  那么直接上STM32CUBEMX  
2
3
近期访客