微波EDA网,见证研发工程师的成长!
首页 > 硬件设计 > 嵌入式设计 > STM8S Timer2_OC1_PWM1输出模式

STM8S Timer2_OC1_PWM1输出模式

时间:12-03 来源:互联网 点击:
C语言:Codee#11722

/*++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
+ 实验平台: STM8S103F2P6 FM 接收实验核心板
+ 硬件 : STM8S103F2P6
+ 开发平台: IAR For STM8 1.10
+ 仿真器 : ST-Link
+ 日期 : 2010-6-22
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*/
#include "stm8s.h"

/*******************************************************************************
* ==启用外部晶振函数==
*******************************************************************************/
voidHSE_CLK_INIT(void)
{
CLK_DeInit();
CLK_HSECmd(ENABLE);
while(SET!=CLK_GetFlagStatus(CLK_FLAG_HSERDY));
CLK_SYSCLKConfig(CLK_PRESCALER_CPUdiv1);
CLK_ClockSwitchCmd(ENABLE);
CLK_ClockSwitchConfig(CLK_SWITCHMODE_AUTO,CLK_SOURCE_HSE,DISABLE,CLK_CURRENTCLOCKSTATE_ENABLE);
}

/*******************************************************************************
* ==定时器2初始化函数==
* TIM2_DeInit(); --> 初始化定时器2寄存器
* TIM2_TimeBaseInit(TIM2_PRESCALER_1, 224); --> 定时器2基本初始化 设置 分频系数 , 初值
--> ( 无分频 , 7372800 / 32768 = 225 校准为224 )
* TIM2_OC1Init(TIM2_OCMODE_PWM1 , TIM2_OUTPUTSTATE_ENABLE , 112 , TIM2_OCPOLARITY_HIGH);
--> 定时器2输出方式 为PWM1 , 定时器2输出状态使能 , 输出占空比 50% , 输出起始电平 为高
* TIM2_Cmd(ENABLE); --> 启动定时器
*******************************************************************************/
voidTIME2_INIT(void)
{
TIM2_DeInit();
TIM2_TimeBaseInit(TIM2_PRESCALER_1,224);
TIM2_OC1Init(TIM2_OCMODE_PWM1,TIM2_OUTPUTSTATE_ENABLE,112,TIM2_OCPOLARITY_HIGH);
TIM2_Cmd(ENABLE);
}

/*******************************************************************************
* ==Main函数==
* 用示波器测量stm8s103f2p6 的Timer_OC1端,即1脚。得到占空比50%的,32768Hz的方波
* 为确保稳定,可以在输出管教加上上拉电阻
*******************************************************************************/
voidmain(void)
{
HSE_CLK_INIT();
TIME2_INIT();
while(1);
}

上一篇:STM8_GPIO 推挽输出
下一篇:STM32 之 KEY

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top