资源简介
STM32 定时器捕获PWM波 以及占空比
![](http://www.nz998.com/pic/65004.jpg)
代码片段和文件信息
#include “timer2.h“
u16 Value1Value2Value3Value4;
float t;
//端口配置函数
//将PA0配置为浮空输入
void PA0_Init(void)
{
RCC->APB2ENR|=1<<2;
GPIOA->CRL&=0xFFFFFFF0;
GPIOA->CRL|=0x00000004; //将PA0口设置为浮空输入模式
}
//定时器1设置为输入捕获模式
//CH1用于测周期
//CH2用于测高电平
//72M/(psc+1)
void TIM2_Capture_Init(u8 psc)
{
PA0_Init();
RCC->APB1ENR|=1<<0;
TIM2->PSC=psc; //不进行分频
TIM2->ARR=65535;
TIM2->CCMR1|=1<<0; //IC1映射到TI1上,设为输入捕获模式
//TIM1->CCMR1|=7<<4; //这里采样频率为基准频率的1/4,且N=8,设CLK为72M时,高于2.6M捕获不到
TIM2->CCER&=~(1<<1); //捕获发生在IC1的上升沿
TIM2->CCMR1|=2<<8; //IC2映射到TI1上,即用TI1FP2去触发CH2,
TIM2->CCER|=1<<5; //TI1下降沿触发
TIM2->SMCR|=5<<4; //选择触发源为滤波获得定时器1
TIM2->SMCR|=4<<0; //选择复位模式,即选中的触发输入的上升沿会重新初始化计数器
TIM2->CCER|=1<<0; //捕获1使能
TIM2->CCER|=1<<4; //捕获2使能
TIM2->DIER|=1<<1; //使能捕获1中断
TIM2->DIER|=1<<2; //使能捕获2中断*/
//TIM2->DIER|=1<<0; //允许更新中断
//TIM2->DIER|=1<<6; //允许触发中断
TIM2->CR1|=1<<0; //开启定时器1
MY_NVIC_Init(13TIM2_IRQChannel2);
}
//中断处理函数
void TIM2_IRQHandler(void)
{
if(TIM2->SR&0x02) //如果CC1通道捕获成功
{
Value1=TIM2->CCR1; //将捕获寄存器送与变量Value1
TIM2->SR&=0xFFFD;
}else if(TIM2->SR&0x04)
{
Value2=TIM2->CCR2; //如果CC2通道捕获成功
TIM2->SR&=0xFFFB; //将中断标志清零
}
}
//处理函数,将VALUE的值转化为相应的频率值
void Change(void)
{
Value3=72000000/(Value1+1); //当psc为0时该式成立
t=((float)Value2)/((float)(Value1));
t=t*100;
}
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
目录 0 2012-05-30 17:27 定时器捕获PWM波 以及占空比\
文件 134 2011-08-08 20:44 定时器捕获PWM波 以及占空比\介绍.txt
目录 0 2012-05-30 17:27 定时器捕获PWM波 以及占空比\程序\
目录 0 2012-05-30 17:27 定时器捕获PWM波 以及占空比\程序\TIM2\
文件 1803 2011-08-27 08:43 定时器捕获PWM波 以及占空比\程序\TIM2\timer2.c
文件 195 2012-07-22 21:25 定时器捕获PWM波 以及占空比\程序\TIM2\timer2.h
目录 0 2012-05-30 17:27 定时器捕获PWM波 以及占空比\程序\TIM3\
文件 702 2011-08-08 20:49 定时器捕获PWM波 以及占空比\程序\TIM3\timer3.c
文件 134 2011-08-08 10:46 定时器捕获PWM波 以及占空比\程序\TIM3\timer3.h
- 上一篇:sha1sum校验算法及代码实现
- 下一篇:颜色提取器的源代码资源
相关资源
- stm32f407上的两个can发送和接收例程
- STM32 led 时钟
- STM32 2.4G通信例程
- 直流无刷电机方波驱动 stm32 例程代码
- STM32中文资料
- STM32蓝牙和串口程序
- STM32f103超声波模块例程
- stm32f103c8t6 4 oled.rar
- stm32f030 IAP Demo(原创)
- STM32基于rt_thread操作系统的SDHC卡文件
- NRF24L01实现51与STM32双向通讯
- STM32F103 串口程序(完整版)
- stm32 ds18b20 温度传感器 测试通过
- stm32官方例程
- STM32F103定时器中断程序
- [免费]基于stm32f103ze 的OLED驱动代码
- STM32F103RBT6驱动UC1698控制芯片的160160黑
- STM32F103 DS18B20 V3.5.0固件库驱动程序工
- STM32定时器使用入门。看了这个程序会
- SIM908 SDIO FSMC STM32 FIFO
- STM32F103 CC2500完整驱动(模拟SPI)
- AD7606采集程序
- stm32 用SPI 方式读写 SDHC
- stm32通过DMA方式采集ADC数据
- 意法半导体STM全系列微控制器STM32ST
- 基于STM32芯片的SX1278 驱动 LORA.rar
- STM32的PCB封装库,以及原理图库,48
- SX1280.rar
- STM32 DS3231驱动.zip
- STM32F103C8T6+NRF24l01无线通信
评论
共有 条评论