嵌入式
返回首页

stm8系列--可变频率PWM输出

2025-09-08 来源:cnblogs

PA3 STM8S003F3


timer2_init();    //初始化


#define PUL_COUNT 4000  

void timer2_init(void)

{


  TIM2_DeInit();  

  

  TIM2_TimeBaseInit(TIM2_PRESCALER_8, PUL_COUNT-1); //62.5HZ   2M/8 /4000=62.5HZ 1个数4us   


  TIM2_OC3Init(TIM2_OCMODE_PWM1, TIM2_OUTPUTSTATE_ENABLE, PUL_COUNT/2, TIM2_OCPOLARITY_HIGH);


  /* TIM1 counter enable */

  TIM2_Cmd(ENABLE);

}


#define ADD_LOAD  2000000/8


void set_pwm1(unsigned int  arr) //arr 设置的频率,单位HZ    占空比固定50%

{

double T_ARR;

unsigned int PWM_Per=0;


T_ARR=(double)ADD_LOAD/arr; 

T_ARR=T_ARR+0.5;

PWM_Per = (unsigned int)T_ARR;

TIM2_SetAutoreload(PWM_Per-1);

TIM2_SetCompare3(PWM_Per/2);    

}


进入嵌入式查看更多内容>>
相关视频
  • 【TI MSPM0 应用实战】智能小车+工业角度编码器+血氧仪+烟雾探测器!硬核参考设计详解!

  • FollowMe 第二季:3 - EK_RA6M5 开发板入门

  • FollowMe 第二季: 1 Adafruit Circuit Playground Express及任务讲解

  • Azure RTOS step by step workshop

  • 2022 Digi-Key KOL 系列: 你见过1GHz主频的单片机吗?Teensy 4.1开发板介绍

  • 从0到1:树莓派与物联网教程(英文)

精选电路图
  • 锂离子/锂聚合物USB电池充电器

  • 6晶体管H桥

  • AVR LCD温度计—LM35

  • AVR PC步进电机驱动器

  • AVR温度计TCN75

  • JDM2 PIC 18F 编程器

    相关电子头条文章