资源简介
对于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编写的聊天室
相关资源
- STM32F103的PWM的扫频程序
- MSP430g2553单片机实现的输出三路PWM,
- shepwm控制的逆变器仿真
- SPWM三相整流的pscad仿真
- dsp28335的pwm程序
- SPWM生成器
- 应用MSP430单片机的pwm直流电动机调速
- 三相电压型pwm整流器
- 三相pwm整流器仿真283942
- PMSM_SVPWM_2015rb.slx
- TM1804 PWM+DMA
- SN8F5708_Sample_Code_V0.3.rar
- stm32f030+PWM->IR红外(38K)自定义格式
- 关于电机SVPWM实现过程的详细介绍
- 使用MSP430产生PWM波对直流电动机进行
- 基于SVPWM控制的三相光伏并网逆变器模
- 51单片机控制LED PWM调光程序
- PWM整流器虚拟电网磁链定向矢量控制
- PFM与PWM的技术总结.docx
- PWM输出控制LED亮度
- 开关电源五种PWM反馈控制模式
- 改进CPS-PWM调制法三相五电平逆变器的
- C51 PID PWM调速程序
- STM8S PWM和蜂鸣器的实验代码
- 51单片机中用PWM控制LED亮度调节
- 单片机PWM调速程序
- PWM整流技术
- STM8S输出PWM控制模拟舵机+MPU6050陀螺仪
- PWM的FPGA实现
- 双闭环可逆直流脉宽PWM调速系统
评论
共有 条评论