资源简介
对于STM32同一定时器各通道产生不同的PWM,程序写得简单,易懂,多多交流学习一下,有用处哦。
代码片段和文件信息
/*include------------------------------------------*/
#include “STM32f10x_lib.h“
/*Private variables--------------------------------*/
u16 CCR2_TIM3=250;
/*Private function prototypes----------------------*/
void RCC_Configutation(void);
void GPIO_Configuration(void);
void TIM3_Configuration(void);
void TIM3_PWM(void);
void Delay(vu32 nCount);
/****************************************************
*函数名:main 主程序
****************************************************/
int main (void)
{
#ifdef DEBUG
debug();
#endif
RCC_Configutation(); //RCC初始化
GPIO_Configuration(); //GPIO初始化
TIM3_Configuration(); //TIM2初始化
TIM3_PWM();
while (1)
{
}
}
/****************************************************
*函数名:RCC_Configutation 配置不同的系统时钟
****************************************************/
void RCC_Configutation(void)
{
ErrorStatus HSEStartUpStatus;
RCC_DeInit();
RCC_HSEConfig(RCC_HSE_ON); //使能外部晶振,配置为外部高速时钟
HSEStartUpStatus = RCC_WaitForHSEStartUp(); //等待外部晶振稳定
if(HSEStartUpStatus == SUCCESS)
{
RCC_HCLKConfig(RCC_SYSCLK_Div1); //HCLK(AHB) = SYSCLK 将系统时钟进行分频后,作为AHB总线时钟
RCC_PCLK1Config(RCC_HCLK_Div2); //PCLK1(APB1) = HCLK/2 将HCLK时钟2分频后给低速外部总线 36MHz
RCC_PCLK2Config(RCC_HCLK_Div1); //PCLK2(APB2) = HCLK 将HCLK时钟配置给高速外部总线 72MHZ
FLASH_SetLatency(FLASH_Latency_2); //设置代码延时值为2个周期
FLASH_PrefetchBufferCmd(FLASH_PrefetchBuffer_Enable); //使能FLASH预取缓冲区
RCC_PLLConfig(RCC_PLLSource_HSE_Div1 RCC_PLLMul_9);//PLLCLK = 8MHz * 9 = 72MHz
RCC_PLLCmd(ENABLE); //使能PLL
while(RCC_GetFlagStatus(RCC_FLAG_PLLRDY) == RESET) //等待PLL有效
{ }
RCC_SYSCLKConfig(RCC_SYSCLKSource_PLLCLK); //以PLL作为系统时钟源,即系统时钟SYSCLK来自PLL输出
while(RCC_GetSYSCLKSource()!=0x08) //等待PLL成为系统时钟源有效
{ }
}
//下面是外设总线上所挂的外部设备时钟的配置
RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA ENABLE);
RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOB ENABLE);
RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOF ENABLE);
RCC_APB1PeriphClockCmd(RCC_APB1Periph_TIM3 ENABLE);
RCC_APB2PeriphClockCmd(RCC_APB2Periph_AFIO ENABLE); //开启引脚复用时钟AFIO。
}
/****************************************************
*函数名:GPIO_Configutation 配置引脚
****************************************************/
void GPIO_Configuration(void)
{
GPIO_InitTypeDef GPIO_InitStructure;
GPIO_InitStructure.GPIO_Pin = GPIO_Pin_7; //PA8配置为TIM1通道1输出 转速输出
GPIO_InitStructure.GPIO_Mode = GPIO_Mode_AF_PP; //配置引脚为推拉输出复用功能
GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz; //配置选定引脚速度为50MHz
GPIO_Init(GPIOA &GPIO_InitStructure);
}
/****************************************************
//输出频率400Hz 72周期 预分频2500
****************************************************/
void TIM3_Configuration(void)
{
TIM_TimebaseInitTypeDef TIM3_TimebaseInitStructure; //定时器初始化结构体
TIM_DeInit(TIM3);
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
目录 0 2012-10-01 21:54 TIM3\
文件 497 2012-11-12 22:16 TIM3\Jli
文件 99944 2012-11-12 22:17 TIM3\Jli
文件 285 2012-11-02 09:08 TIM3\Jli
目录 0 2012-11-01 22:49 TIM3\Source\
目录 0 2012-11-01 22:49 TIM3\Source\FWLib\
目录 0 2012-11-01 22:49 TIM3\Source\FWLib\inc\
文件 2225 2008-09-23 09:19 TIM3\Source\FWLib\inc\cortexm3_macro.h
文件 18854 2008-09-23 09:19 TIM3\Source\FWLib\inc\stm32f10x_adc.h
文件 6911 2008-09-23 09:19 TIM3\Source\FWLib\inc\stm32f10x_bkp.h
文件 12279 2008-09-23 09:19 TIM3\Source\FWLib\inc\stm32f10x_can.h
文件 1881 2008-09-23 09:19 TIM3\Source\FWLib\inc\stm32f10x_crc.h
文件 9598 2008-09-23 09:19 TIM3\Source\FWLib\inc\stm32f10x_dac.h
文件 2859 2008-09-23 09:19 TIM3\Source\FWLib\inc\stm32f10x_dbgmcu.h
文件 17974 2008-09-23 09:19 TIM3\Source\FWLib\inc\stm32f10x_dma.h
文件 5776 2008-09-23 09:19 TIM3\Source\FWLib\inc\stm32f10x_exti.h
文件 13996 2008-09-23 09:19 TIM3\Source\FWLib\inc\stm32f10x_flash.h
文件 19041 2008-09-23 09:19 TIM3\Source\FWLib\inc\stm32f10x_fsmc.h
文件 14820 2008-09-23 09:19 TIM3\Source\FWLib\inc\stm32f10x_gpio.h
文件 16213 2008-09-23 09:19 TIM3\Source\FWLib\inc\stm32f10x_i2c.h
文件 3414 2008-09-23 09:19 TIM3\Source\FWLib\inc\stm32f10x_iwdg.h
文件 3200 2008-09-23 09:19 TIM3\Source\FWLib\inc\stm32f10x_lib.h
文件 28290 2008-09-23 09:19 TIM3\Source\FWLib\inc\stm32f10x_map.h
文件 19198 2008-09-23 09:19 TIM3\Source\FWLib\inc\stm32f10x_nvic.h
文件 3865 2008-09-23 09:19 TIM3\Source\FWLib\inc\stm32f10x_pwr.h
文件 14783 2008-09-23 09:19 TIM3\Source\FWLib\inc\stm32f10x_rcc.h
文件 3619 2008-09-23 09:19 TIM3\Source\FWLib\inc\stm32f10x_rtc.h
文件 18326 2008-09-23 09:19 TIM3\Source\FWLib\inc\stm32f10x_sdio.h
文件 13782 2008-09-23 09:19 TIM3\Source\FWLib\inc\stm32f10x_spi.h
文件 3212 2008-09-23 09:19 TIM3\Source\FWLib\inc\stm32f10x_systick.h
文件 47203 2008-09-23 09:19 TIM3\Source\FWLib\inc\stm32f10x_tim.h
............此处省略100个文件信息
- 上一篇:铭正同创液晶STM32 240128 源码
- 下一篇:用qt4编写的聊天室
相关资源
- 51单片机PWM程序,占空比、周期可调整
- SG3525频率PWM控制均可调模块
- 基于ARM7 PWM定时器的图像传感器时序信
- 电力电子技术(第4版)_王兆安_带目
- 基于FAN6754A的PWM反激式开关电源的设计
- 采用双闭环控制提高PWM的电源纹波抑
- FPGA实现单极性SPWM调制
- LCL滤波器在三相PWM整流器中的应用
- CPS―SPWM调制方法在H桥多电平变流器中
- 基于FPGA的多电平载波移相SPWM方法实现
- 正弦波逆变器正弦波逆变器的工作原
- 基于DSP的SVPWM变频调速系统
- 采用单片机SPWM的控制应急电源逆变电
- PWM脉宽调制的原理
- 说说PWM脉宽调制原理
- 以单片机AT89S52、光电脉宽调制器芯片
- STM32F103系列PWM输出应用之纸短情长音
- 基于FPGA的SVPWM实现方法
- pwm控制驱动直流电机 可调速 可调转的
- 可控硅调光,PWM调光,0-10V调光哪个更
- 一种基于SG3525A的PWM型开关稳压电源设
- 基于PIC单片机产生SPWM信号控制逆变桥
- 三相PWM整流器电压环H_∞鲁棒控制
- SVPWM的原理及法则推导和控制算法详解
- 132kW双PWM变频器电力电缆选型设计
- 32F103 8路PWM输出实验
- Keil5下的STM32F407程序
- PWM控制电机
- 基于STM32-Mini的多路PWM
- 基于两个红外传感器的寻迹小车程序
评论
共有 条评论