找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 9846|回復(fù): 2
收起左側(cè)

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

[復(fù)制鏈接]
ID:75263 發(fā)表于 2015-6-9 02:48 | 顯示全部樓層 |閱讀模式
STM8S物美價廉,TIM2可同時產(chǎn)生三路PWM波形來,最快可達(dá)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



回復(fù)

使用道具 舉報

ID:169756 發(fā)表于 2017-5-31 07:43 | 顯示全部樓層
學(xué)習(xí)了,謝謝樓主!
回復(fù)

使用道具 舉報

ID:337139 發(fā)表于 2020-11-6 22:20 | 顯示全部樓層
官方函數(shù)庫寫出來就完美了。
回復(fù)

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規(guī)則

小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術(shù)交流QQ群281945664

Powered by 單片機(jī)教程網(wǎng)

快速回復(fù) 返回頂部 返回列表