免费 企业网站管理系统,怎样弄一个自己的网站,上海公司做网站,公司网站的意义目录
配置PWM输出引脚
使能引脚时钟
配置PWM
使能PWM
配置定时器
使能定时器时钟
使能定时器
例程
例程说明
main.h
main.c
PWM.h
PWM.c
led.h
led.c
DSQ.h
DSQ.c
配置PWM输出引脚 PWM的输出引脚必须配置为复用功能。 注意#xff1a;需要使用哪个引脚…目录
配置PWM输出引脚
使能引脚时钟
配置PWM
使能PWM
配置定时器
使能定时器时钟
使能定时器
例程
例程说明
main.h
main.c
PWM.h
PWM.c
led.h
led.c
DSQ.h
DSQ.c
配置PWM输出引脚 PWM的输出引脚必须配置为复用功能。 注意需要使用哪个引脚必须得先查看数据手册只有含有“TIMx_CHx”或者含有“TIMx_CHxN”的引脚才能用作PWM脉冲信号输出并且对应引脚对应固定不可变。重点重点重点 void GPIO_Init(GPIO_TypeDef* GPIOx, GPIO_InitTypeDef* GPIO_InitStruct);//LED蓝灯 PB1引脚
GPIO_InitTypeDef GPIO;
GPIO.GPIO_SpeedGPIO_Speed_50MHz;
GPIO.GPIO_PinGPIO_Pin_1;
GPIO.GPIO_ModeGPIO_Mode_AF_PP;//复用功能
GPIO_Init(GPIOB,GPIO);
使能引脚时钟
void RCC_APB2PeriphClockCmd(uint32_t RCC_APB2Periph, FunctionalState NewState);RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOB,ENABLE);//使能PB1引脚时钟
配置PWM 配置PWM模式。模式1计数值CCR时通道1为有效电平。模式2计数值CCR时通道1为有效电平。 比较输出使能 配置输出比较极性。0高电平有效。1低电平有效。 void TIM_OC1Init(TIM_TypeDef* TIMx, TIM_OCInitTypeDef* TIM_OCInitStruct);
void TIM_OC2Init(TIM_TypeDef* TIMx, TIM_OCInitTypeDef* TIM_OCInitStruct);
void TIM_OC3Init(TIM_TypeDef* TIMx, TIM_OCInitTypeDef* TIM_OCInitStruct);
void TIM_OC4Init(TIM_TypeDef* TIMx, TIM_OCInitTypeDef* TIM_OCInitStruct);
/*
CHx-TIM_OCxInit
CH几就对应OC几TIMx_-TIMx
TIMx_就对应定时器几
*///PB1 - TIM3_CH4 - TIM3、TIM_OC4Init
TIM_OCInitTypeDef PWM;
PWM.TIM_OCModeTIM_OCMode_PWM2;//PWM模式2
PWM.TIM_OutputStateTIM_OutputState_Enable;//比较输出使能
PWM.TIM_OCPolarityTIM_OCPolarity_High;//输出比较极性
TIM_OC4Init(TIM3,PWM);//初始化PWM
使能PWM
void TIM_OC1PreloadConfig(TIM_TypeDef* TIMx, uint16_t TIM_OCPreload);
void TIM_OC2PreloadConfig(TIM_TypeDef* TIMx, uint16_t TIM_OCPreload);
void TIM_OC3PreloadConfig(TIM_TypeDef* TIMx, uint16_t TIM_OCPreload);
void TIM_OC4PreloadConfig(TIM_TypeDef* TIMx, uint16_t TIM_OCPreload);
/*
CHx-TIM_OCxInit
CH几就对应OC几TIMx_-TIMx
TIMx_就对应定时器几
*///PB1 - TIM3_CH4 - TIM3、TIM_OC4PreloadConfig
TIM_OC4PreloadConfig(TIM3,TIM_OCPreload_Enable);//使能PWM
配置定时器 根据对应的引脚定时器配置对应的定时器。 配置第一次时钟分频 配置计数模式 配置重载值 配置预分频系数 void TIM_TimeBaseInit(TIM_TypeDef* TIMx, TIM_TimeBaseInitTypeDef* TIM_TimeBaseInitStruct);TIM_TimeBaseInitTypeDef DSQ_3;
DSQ_3.TIM_ClockDivisionTIM_CKD_DIV1;//第一次时钟分频不分频
DSQ_3.TIM_CounterModeTIM_CounterMode_Up;//计数模式向上计数模式
DSQ_3.TIM_Period900-1;//重载值
DSQ_3.TIM_Prescaler0;//预分频系数
TIM_TimeBaseInit(TIM3,DSQ_3);//定时器3初始化
使能定时器时钟
void RCC_APB1PeriphClockCmd(uint32_t RCC_APB1Periph, FunctionalState NewState);RCC_APB1PeriphClockCmd(RCC_APB1Periph_TIM3,ENABLE);//使能定时器3时钟
使能定时器
void TIM_Cmd(TIM_TypeDef* TIMx, FunctionalState NewState);TIM_Cmd(TIM3,ENABLE);//使能定时器3
例程
例程说明 使用定时器3的PWM功能输出占空比可变的PWM波用来驱动LED灯从而达到LED[PB5]亮度由1档变5档再又5档变1档每个档位持续1秒如此循环。 main.h
#ifndef _MAIN_H_
#define _MAIN_H_#include stm32f10x.h // Device header
#include stm32f10x_gpio.h // Keil::Device:StdPeriph Drivers:GPIO
#include stm32f10x_tim.h // Keil::Device:StdPeriph Drivers:TIM
#include stm32f10x_rcc.h
#include stm32f10x_usart.h
#include stm32f10x_sdio.h
#include misc.h
#include stdio.h
#include timch.h
#include bsp_SysTick.h#include delay.h
#include PWM.h
#include led.h
#include DSQ.h#endif
main.c
#include main.hint main() {char i;u16 PWM[]{0,225,450,675,900};delay_init();LED_Init();DSQ_3_Init();PWM_Init();while(1){for(i0;i5;i){TIM_SetCompare4(TIM3,PWM[i]);delay_ms(1000);}for(i4;i0;i--){TIM_SetCompare4(TIM3,PWM[i]);delay_ms(1000);}}
}
PWM.h
#ifndef __PWM_H_
#define __PWM_H_#include stdio.h
#include sys.hvoid PWM_Init();#endif
PWM.c
#include PWM.hvoid PWM_Init(){TIM_OCInitTypeDef PWM;PWM.TIM_OCModeTIM_OCMode_PWM2;//PWM模式2PWM.TIM_OutputStateTIM_OutputState_Enable;//比较输出使能PWM.TIM_OCPolarityTIM_OCPolarity_High;//输出比较极性TIM_OC4Init(TIM3,PWM);//初始化PWMTIM_OC4PreloadConfig(TIM3,TIM_OCPreload_Enable);//使能PWM
}
led.h
#ifndef __LED_H_
#define __LED_H_#include stdio.h
#include sys.hvoid LED_Init();
void LED_ALL_OFF();
void LED_R_NO();
void LED_R_OFF();
void LED_G_NO();
void LED_G_OFF();
void LED_B_NO();
void LED_B_OFF();#endif
led.c #include led.hvoid LED_Init(){GPIO_InitTypeDef GPIO;RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOB,ENABLE);GPIO.GPIO_PinGPIO_Pin_5;GPIO.GPIO_ModeGPIO_Mode_Out_PP;GPIO.GPIO_SpeedGPIO_Speed_50MHz;//GPIO_Init(GPIOB,GPIO);//GPIO_SetBits(GPIOB,GPIO_Pin_5);GPIO.GPIO_PinGPIO_Pin_0;//GPIO_Init(GPIOB,GPIO);//GPIO_SetBits(GPIOB,GPIO_Pin_0);GPIO.GPIO_PinGPIO_Pin_1;GPIO.GPIO_ModeGPIO_Mode_AF_PP;//复用功能GPIO_Init(GPIOB,GPIO);//GPIO_SetBits(GPIOB,GPIO_Pin_1);
}void LED_ALL_OFF(){GPIO_SetBits(GPIOB,GPIO_Pin_5);GPIO_SetBits(GPIOB,GPIO_Pin_0);GPIO_SetBits(GPIOB,GPIO_Pin_1);
}void LED_R_NO(){GPIO_ResetBits(GPIOB,GPIO_Pin_5);
}void LED_R_OFF(){GPIO_SetBits(GPIOB,GPIO_Pin_5);
}void LED_G_NO(){GPIO_ResetBits(GPIOB,GPIO_Pin_0);
}void LED_G_OFF(){GPIO_SetBits(GPIOB,GPIO_Pin_0);
}void LED_B_NO(){GPIO_ResetBits(GPIOB,GPIO_Pin_1);
}void LED_B_OFF(){GPIO_SetBits(GPIOB,GPIO_Pin_1);
}
DSQ.h
#ifndef __DSQ_H_
#define __DSQ_H_#include stdio.h
#include delay.h
#include led.hvoid DSQ_1_Init();
void DSQ_3_Init();#endif
DSQ.c
#include DSQ.hvoid DSQ_1_Init(){TIM_TimeBaseInitTypeDef DSQ_1;RCC_APB2PeriphClockCmd(RCC_APB2Periph_TIM1,ENABLE);//使能定时器1时钟DSQ_1.TIM_ClockDivisionTIM_CKD_DIV1;//第一次时钟分频不分频DSQ_1.TIM_CounterModeTIM_CounterMode_Up;//计数模式向上计数模式DSQ_1.TIM_Period900-1;//重载值DSQ_1.TIM_Prescaler0;//预分频系数 TIM_TimeBaseInit(TIM1,DSQ_1);//定时器1初始化//TIM_ITConfig(TIM3,TIM_IT_Update,ENABLE);//定时器3计数值更新、溢出使能TIM_Cmd(TIM1,ENABLE);//使能定时器3
}void DSQ_3_Init(){TIM_TimeBaseInitTypeDef DSQ_3;RCC_APB1PeriphClockCmd(RCC_APB1Periph_TIM3,ENABLE);//使能定时器3时钟DSQ_3.TIM_ClockDivisionTIM_CKD_DIV1;//第一次时钟分频不分频DSQ_3.TIM_CounterModeTIM_CounterMode_Up;//计数模式向上计数模式DSQ_3.TIM_Period900-1;//重载值DSQ_3.TIM_Prescaler0;//预分频系数 TIM_TimeBaseInit(TIM3,DSQ_3);//定时器3初始化//TIM_ITConfig(TIM3,TIM_IT_Update,ENABLE);//定时器3计数值更新、溢出使能TIM_Cmd(TIM3,ENABLE);//使能定时器3
} 文章转载自: http://www.morning.pmptm.cn.gov.cn.pmptm.cn http://www.morning.cprbp.cn.gov.cn.cprbp.cn http://www.morning.gqflj.cn.gov.cn.gqflj.cn http://www.morning.tlnbg.cn.gov.cn.tlnbg.cn http://www.morning.qqnh.cn.gov.cn.qqnh.cn http://www.morning.byywt.cn.gov.cn.byywt.cn http://www.morning.qgxnw.cn.gov.cn.qgxnw.cn http://www.morning.nchlk.cn.gov.cn.nchlk.cn http://www.morning.qpqb.cn.gov.cn.qpqb.cn http://www.morning.sqyjh.cn.gov.cn.sqyjh.cn http://www.morning.fdrwk.cn.gov.cn.fdrwk.cn http://www.morning.mlfmj.cn.gov.cn.mlfmj.cn http://www.morning.xsctd.cn.gov.cn.xsctd.cn http://www.morning.rfrx.cn.gov.cn.rfrx.cn http://www.morning.rcwzf.cn.gov.cn.rcwzf.cn http://www.morning.xwbwm.cn.gov.cn.xwbwm.cn http://www.morning.homayy.com.gov.cn.homayy.com http://www.morning.wmmtl.cn.gov.cn.wmmtl.cn http://www.morning.mqdr.cn.gov.cn.mqdr.cn http://www.morning.mtsck.cn.gov.cn.mtsck.cn http://www.morning.brhxd.cn.gov.cn.brhxd.cn http://www.morning.xlbtz.cn.gov.cn.xlbtz.cn http://www.morning.nzsx.cn.gov.cn.nzsx.cn http://www.morning.ptwzy.cn.gov.cn.ptwzy.cn http://www.morning.chmcq.cn.gov.cn.chmcq.cn http://www.morning.bmtkp.cn.gov.cn.bmtkp.cn http://www.morning.rkkh.cn.gov.cn.rkkh.cn http://www.morning.xclgf.cn.gov.cn.xclgf.cn http://www.morning.spdyl.cn.gov.cn.spdyl.cn http://www.morning.qcnk.cn.gov.cn.qcnk.cn http://www.morning.fqcdh.cn.gov.cn.fqcdh.cn http://www.morning.rhpgk.cn.gov.cn.rhpgk.cn http://www.morning.trsfm.cn.gov.cn.trsfm.cn http://www.morning.mbaiwan.com.gov.cn.mbaiwan.com http://www.morning.fkrzx.cn.gov.cn.fkrzx.cn http://www.morning.nfpkx.cn.gov.cn.nfpkx.cn http://www.morning.gthwz.cn.gov.cn.gthwz.cn http://www.morning.sdecsd.cn.gov.cn.sdecsd.cn http://www.morning.zrdqz.cn.gov.cn.zrdqz.cn http://www.morning.lwtfr.cn.gov.cn.lwtfr.cn http://www.morning.blqsr.cn.gov.cn.blqsr.cn http://www.morning.fdmtr.cn.gov.cn.fdmtr.cn http://www.morning.tqpds.cn.gov.cn.tqpds.cn http://www.morning.rfxg.cn.gov.cn.rfxg.cn http://www.morning.qnxtz.cn.gov.cn.qnxtz.cn http://www.morning.qgwpx.cn.gov.cn.qgwpx.cn http://www.morning.yrflh.cn.gov.cn.yrflh.cn http://www.morning.mplb.cn.gov.cn.mplb.cn http://www.morning.shyqcgw.cn.gov.cn.shyqcgw.cn http://www.morning.pphgl.cn.gov.cn.pphgl.cn http://www.morning.knngw.cn.gov.cn.knngw.cn http://www.morning.mkccd.cn.gov.cn.mkccd.cn http://www.morning.dytqf.cn.gov.cn.dytqf.cn http://www.morning.xqmd.cn.gov.cn.xqmd.cn http://www.morning.btnmj.cn.gov.cn.btnmj.cn http://www.morning.grynb.cn.gov.cn.grynb.cn http://www.morning.rbgqn.cn.gov.cn.rbgqn.cn http://www.morning.hclplus.com.gov.cn.hclplus.com http://www.morning.fesiy.com.gov.cn.fesiy.com http://www.morning.rksg.cn.gov.cn.rksg.cn http://www.morning.lhxkl.cn.gov.cn.lhxkl.cn http://www.morning.pbdnj.cn.gov.cn.pbdnj.cn http://www.morning.clgbb.cn.gov.cn.clgbb.cn http://www.morning.lxfdh.cn.gov.cn.lxfdh.cn http://www.morning.jwbfj.cn.gov.cn.jwbfj.cn http://www.morning.rysmn.cn.gov.cn.rysmn.cn http://www.morning.txltb.cn.gov.cn.txltb.cn http://www.morning.fnnkl.cn.gov.cn.fnnkl.cn http://www.morning.fslrx.cn.gov.cn.fslrx.cn http://www.morning.lstmg.cn.gov.cn.lstmg.cn http://www.morning.ghfrb.cn.gov.cn.ghfrb.cn http://www.morning.rdlfk.cn.gov.cn.rdlfk.cn http://www.morning.qkqjz.cn.gov.cn.qkqjz.cn http://www.morning.qnjcx.cn.gov.cn.qnjcx.cn http://www.morning.hkpyp.cn.gov.cn.hkpyp.cn http://www.morning.wrtw.cn.gov.cn.wrtw.cn http://www.morning.rhmk.cn.gov.cn.rhmk.cn http://www.morning.rrrrsr.com.gov.cn.rrrrsr.com http://www.morning.cylbs.cn.gov.cn.cylbs.cn http://www.morning.zrfwz.cn.gov.cn.zrfwz.cn