: .
院
专
年 学 姓
系:间的关系,能分析出计数初值与计数时钟频率以及 曰nJ
更新频率之间的关系。
实验设计思路
(1)硬件电路设计
实验步骤与结果分析
(1)对TIM2定时器进行控制, 的方波,, 的方波,
(2 )配置TIM2各通道均为输出比较模式(即设置 =TIM_OCMode_Toggle,预分频系数设 为 2),设置各通道的参数(TIM2CC 1=0x8000、TIM2 CC2=0x4000、TIM2 CC3=0x2000、TIM2 CC4=0xl000);在相应的TIM2定时器中断服务处理 程序中根据定时器的值翻转输出电平,以输出方波
(3)测量定时器程序中各指定输出引脚的频率(采用逻辑分析仪通过软
件仿真方式测量),查看程序,判断是否与预期相符
(4)改变频率输出,使得输出频率为1KHZ或其他值
公式:TIM2 计数时钟频率=TIM2CLK / (Prescaler+1)
计数初值CCRx_Val = TIM2计数时钟频率/更新频率
/ Includes */
#include "
/* Private typedef */
/* Private define */
/* Private macro */
/* Private variables */
TIM_TimeBaseInitTypeDef TIM_TimeBaseStructure;
TIM_OCInitTypeDef TIM_OCInitStructure;
vul6 CCRl_Val = 0x3ad4;
vul6 CCR2_Val = 0x4000;
vul6 CCR3_Val = 0x2000;
vul6 CCR4_Val = 0x1000;
ErrorStatus HSEStartUpStatus;
// TIM2 Configuration: Output Compare Toggle Mode:
// TIM2CLK = 36 MHz, Prescaler = 0x2, TIM2 counter clock = 12 MHz
// CC1 update rate = TIM2 counter clock / CCRl_Val = Hz
// CC2 update rate = TIM2 counter clock / CCR2_Val = Hz
// CC3 update rate = TIM2 counter clock / CCR3_Val = Hz
// CC4 update rate = TIM2 counter clock / CCR4_Val = Hz
/* Time base configuration */
= OxFFFF;
= 0x02;
= 0x0;
= TIM_CounterMode_Up;
TIM_TimeB aseInit(TIM2, &TIM_TimeBaseStructure);
* Output : None
* Return : None
void TIM2_IRQHandler(void)
(
/* TIM2_CH1 toggling with frequency = Hz */
if (TIM_GetITStatus(TIM2, TIM_IT_CC1) != RESET) (
TIM_ClearITPendingBit(TIM2, TIM_IT_CC1 );
capture 1 = TIM_GetCapturel(TIM2);
//capture 1 =TIMx->CCRl;
//TIM_GetCapturel获得输入捕获的值
//TIMx->CCRl
TIM_S etCompa
嵌入式技术及应用实验报告 来自淘豆网m.daumloan.com转载请标明出处.