资源简介
STM32 定时器捕获PWM波 以及占空比
代码片段和文件信息
#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校验算法及代码实现
- 下一篇:颜色提取器的源代码资源
相关资源
- STM32学习笔记STM32学习笔记
- STM32 USART1 USART2 UASRT3 UART4 UART5串口通信
- STM32F103产生正弦波DEMO
- STM32 MCP2515 CAN 通信收发程序,调试通
- stm32f103rc_hcsr04.rar
- STM32F103 WS2812真彩LED灯驱动例程
- stm32PWM呼吸灯
- STM32-DS18B20程序
- 基于STM32的寝室指纹门锁设计
- stm32f1对MLX90614ESF读取数据
- STM32F407ZGT6用TB6600驱动器驱动4257步进电
- STM32f103vET6 最小系统原理图
- stm32控制舵机程序
- LORA实现收发,SX1278+STM32F103
- STM32F103任意频率三角波+正弦波产生
- STM32L452ADC初始化+外部电压采集+温度传
- 第十届蓝桥杯嵌入式比赛备赛 资料汇
- stm32利用定时器的PWM输出驱动蜂鸣器播
- 实验20 PWM DAC实验.rar
- ADS1220 stm32f407vet6驱动硬件spi2带部分翻
- 基于AD绘制的STM32F103VET6最小系统板
- 基于AD绘制的STM32F405最小系统板
- STM32F013ZET6原理图
- STM32F334数字电源设计
- STM32制作的贪吃蛇小游戏
- 蜘蛛机器人STM32F103控制电路原理图
- 基于stm32和红外传感器的寻迹小车程序
- stm32 PID调节
- stm32四通道adc采样
- STM32的DS18B20数字温度传感器程序,亲
评论
共有 条评论