找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 8946|回复: 2
收起左侧

STM8S103的三路PWM波形(官方的示例程序备忘)

[复制链接]
ID:75263 发表于 2015-6-9 02:48 | 显示全部楼层 |阅读模式
STM8S物美价廉,TIM2可同时产生三路PWM波形来,最快可达5MHZ


#include "stm8s.h"




uint16_t CCR1_Val = 500;
uint16_t CCR2_Val = 250;
uint16_t CCR3_Val = 100;

static void TIM2_Config(void);



void main(void)
{CLK_HSIPrescalerConfig(CLK_PRESCALER_HSIDIV1);//16/1=16MHZ

  TIM2_Config();

  while (1)
  {}
}

static void TIM2_Config(void)
{

  TIM2_TimeBaseInit(TIM2_PRESCALER_1, 200);

  TIM2_OC1Init(TIM2_OCMODE_PWM1,TIM2_OUTPUTSTATE_ENABLE,CCR1_Val, TIM2_OCPOLARITY_HIGH);
  TIM2_OC1PreloadConfig(ENABLE);

  TIM2_OC2Init(TIM2_OCMODE_PWM1,TIM2_OUTPUTSTATE_ENABLE,CCR2_Val, TIM2_OCPOLARITY_HIGH);
  TIM2_OC2PreloadConfig(ENABLE);
         
  TIM2_OC3Init(TIM2_OCMODE_PWM1,TIM2_OUTPUTSTATE_ENABLE,CCR3_Val, TIM2_OCPOLARITY_HIGH);
  TIM2_OC3PreloadConfig(ENABLE);
  TIM2_ARRPreloadConfig(ENABLE);

  TIM2_Cmd(ENABLE);
}
#ifdef USE_FULL_ASSERT

void assert_failed(uint8_t* file, uint32_t line)
{


  while (1)
  {
  }
}
#endif



回复

使用道具 举报

ID:169756 发表于 2017-5-31 07:43 | 显示全部楼层
学习了,谢谢楼主!
回复

使用道具 举报

ID:337139 发表于 2020-11-6 22:20 | 显示全部楼层
官方函数库写出来就完美了。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表