stm8l15x TIM3 PWM配置

本文介绍了如何在STM8L15x微控制器上配置TIM3进行PWM输出。通过设置不同的预分频器,以适应不同系统时钟频率,实现了3/4、1/2和1/4的占空比,用于发送不同信号。代码经过测试,周期可调,占空比默认为50%。
摘要由CSDN通过智能技术生成
	
<span style="white-space:pre">	</span>CLK_PeripheralClockConfig(CLK_Peripheral_TIM3, ENABLE);
/*
		set SB_TX_LOCK mode:
		PWM mode,T = 60us, 
		Duty Ratio: 3/4  represents  send bit 1
								1/2  represents  send bit 0
								1/4  represents  a  respond
        TIM3_Prescaler_16,and T = 60;						
	*/
	GPIO_Init(SB_TX_LOCK_PORT,SB_TX_LOCK_PIN,GPIO_Mode_Out_PP_High_Fast);
	
	TIM3_DeInit();
	
#if (SYS_CLOCK_16M)
	TIM3_TimeBaseInit(TIM3_Prescaler_16, TIM3_CounterMode_Up,PWM_T); 
#endif
#if (SYS_CLOCK_8M)
	TIM3_TimeBaseInit(TIM3_Prescaler_8, TIM3_CounterMode_Up,PWM_T); 
#endif
#if (SYS_CLOCK_4M)
	TIM3_TimeBaseInit(TIM3_Prescaler_4, TIM3_CounterMode_Up,PWM_T); 
#endif

  /* PWM1 Mode configuration: Channel1 default Duty Ratio is 1/2 */ 
  TIM3_OC1Init(TIM3_OCMode_PWM1, TIM3_OutputState_Enable,PWM_T/2,TIM3_OCPolarity_High,TIM3_OCIdleState_Set);
  TIM3_OC1PreloadConfig(ENABLE);
	TIM3_ARRPreloadConfig(ENABLE);
	TIM3_ITConfig(TIM3_IT_Update,ENABLE);
	/*enable PWM output*/
	TIM3_CtrlPWMOutputs(ENABLE);   
  /* TIM3 enable counter */
	TIM3_Cmd(ENABLE);
该代码已经测试通过。占空比是50%,周期是PWM_T.
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值