STM32通用定时器产生PWM信号

STM32通用定时器产生PWM信号

本期内容我将展示使用STM32通用定时器产生PWM信号,这里以定时器3通道3为例

PWM信号

如果还不懂的话,可以看看 : "蓝桥杯单片机学习7------PWM脉宽调制&控制LED的亮度" 。

stm32定时器PWM生成模式

PWM配置基本步骤

PWM周期计算

CubeMX配置


其他部分配置这里不做展示

代码展现

c 复制代码
int main(void)
{
  /* USER CODE BEGIN 1 */
//    uint16_t temp = 250;
  /* USER CODE END 1 */

  /* MCU Configuration--------------------------------------------------------*/

  /* Reset of all peripherals, Initializes the Flash interface and the Systick. */
  HAL_Init();

  /* USER CODE BEGIN Init */

  /* USER CODE END Init */

  /* Configure the system clock */
  SystemClock_Config();

  /* USER CODE BEGIN SysInit */

  /* USER CODE END SysInit */

  /* Initialize all configured peripherals */
  MX_GPIO_Init();
  MX_TIM3_Init();
  MX_USART1_UART_Init();
  /* USER CODE BEGIN 2 */
   HAL_TIM_Base_Start_IT(&htim3);         //开启定时器3,并打开中断,这里不开启中断也可以
  HAL_TIM_PWM_Start(&htim3, TIM_CHANNEL_3);    //设置定时器3通道3产生PWM信号
  /* USER CODE END 2 */

  /* Infinite loop */
  /* USER CODE BEGIN WHILE */
  while (1)
  {
   __HAL_TIM_SET_COMPARE(&htim3, TIM_CHANNEL_3,250);       //设置CCRX的值,控制占空比为250/500 = 50% 
    /* USER CODE END WHILE */

    /* USER CODE BEGIN 3 */
  }
  /* USER CODE END 3 */
}

定时器产生PWM信号过程中不需要用到中断所以不需要编写。。。。。。

相关推荐
QH1392923188044 分钟前
KEYSIGHT N9030B PXA信号/频谱分析仪
科技·嵌入式硬件·集成测试
Shang180989357261 小时前
T31ZX 君正/INGENIC智能视频处理器T31ZX可提供软硬件资料T31Z采用先进的低功耗设计
嵌入式硬件·fpga开发·音视频·t31zx智能视频处理器
ahccqw1 小时前
CAN总线通信入门及实例代码(stm32f4系列)
stm32·单片机·嵌入式硬件
云栖梦泽3 小时前
Linux内核与驱动:13.从设备树到Platform平台总线
linux·运维·c++·嵌入式硬件
振南的单片机世界3 小时前
电源、复位、时钟:单片机的“生存三要素”
单片机·嵌入式硬件
charlie1145141913 小时前
嵌入式Linux驱动开发指南02——内核空间基础与硬件访问
linux·运维·c语言·驱动开发·嵌入式硬件
踏着七彩祥云的小丑3 小时前
嵌入式——小白入门
嵌入式硬件
charlie1145141914 小时前
嵌入式现代C++工程实践——第14篇:第二次重构 —— 模板登场,编译时绑定端口和引脚
开发语言·c++·stm32·安全·重构
SUNNYSPY0015 小时前
16N65-ASEMI重塑功率电子新标杆16N65
单片机
踏着七彩祥云的小丑6 小时前
嵌入式——简单电路常识
单片机·嵌入式硬件