- 定时器可以对输入的时钟进行计数,并在计数值达到设定值时触发中断
- 16位计数器,预分频器 ,自动重装寄存器的时基单元,在72MHz计数时钟下可以实现最大59.65s的定时 72M/65536/65536 = 中断频率 倒数就是时间
- 时基单元
- 结构由 预分频器 计数器 自动重装寄存器构成
- 预分频器对时钟进行预分频,计数器自增计数 当计数值达到自动重装值时,计数值清零同时产生更新中断和更新事件
- 通用定时器 的 计数器的计数模式不只向上计数
- 向上计数模式: 计数器从0开始,向上自增,计到重装值,清零同时申请中断
- 向下计数模式: 从重装值开始,向下自减 减到0后,回到重装值同时申请中断
- 中央对齐模式: 从0开始先向上自增,计到重装值,申请中断,然后再向下自减,减到0,再申请中断
- 定时中断基本结构图
- 代码示例 ps: 根据图的顺序看代码配置 (只是前面部分) 其他就是 NVIC
TIM_TimeBaseInitTypeDef TIM_TimeBaseStructure;
RCC_APB1PeriphClockCmd(RCC_APB1Periph_TIM4, ENABLE); //TIM4时钟使能
TIM_InternalClockConfig(TIM4); // 可以不用写 默认使用内部
TIM_TimeBaseStructure.TIM_Prescaler=psc; //定时器分频
TIM_TimeBaseStructure.TIM_Period=arr; //自动重装载值
TIM_TimeBaseStructure.TIM_CounterMode=TIM_CounterMode_Up; //向上计数模式
TIM_TimeBaseStructure.TIM_ClockDivision=TIM_CKD_DIV1;
TIM_TimeBaseInit(TIM4,&TIM_TimeBaseStructure);//初始化定时器4
TIM_ITConfig(TIM4,TIM_IT_Update,ENABLE); //允许定时器4更新中断
TIM_ARRPreloadConfig(TIM4,ENABLE);//ARPE使能
TIM_Cmd(TIM4, ENABLE); //使能TIM4
TIM_ClockDivision : TIM_CKD_DIV1 (1分频 就是不分频) (到时候随便填就ook)
TIM_CKD_DIV2 TIM_CKD_DIV4
TIM_CounterMode : TIM_CounterMode_Up 向上计数
TIM_CounterMode_Down 向下计数
TIM_CounterMode_CenterAligned1 中央计数
TIM_CounterMode_CenterAligned2
TIM_CounterMode_CenterAligned3
TIM_Period TIM_Prescaler (1)根据公式自己算 (2)公式就不看了 反正题目如果涉及肯定会给数字 到时候 填个 xx -1 就好 记得 一定要 -1 (因为是从0开始)
使能定时器时钟
RCC_APB1PeriphClockCmd();
② 初始化定时器,配置ARR,PSC 就是上面写的
TIM_TimeBaseInit();
③ 开启定时器中断,配置NVIC。
NVIC_Init();
④ 允许定时器工作
TIM_Cmd();
⑥ 编写中断服务函数。
TIMx_IRQHandler();
(10)Tout(溢出时间) = (ARR+1)(PSC+1) / TIMxCLK ARR = TIM_Period PSC = TIM_Prescaler
(11) 个人觉得 这部分 他顶多出在第一题 所以我们至少会解释就行!!!!
具体内容 见 P247 248
(12)定时器PWM (Pulse Width Modulation 脉冲宽度调制) 输出比较模式
在具有惯性的系统中,可以通过对一系列脉冲的宽度进行调制,来等效地获得所需要的模拟参量,常应用于电机控速 LED 控制亮度等领域
- PWM参数 频率 = 1/Ts 占空比 = TON/TS 分辨率 = 占空比变化步距
占空比 就是 高低电平的比值 决定了PWM等效出来的模拟电压的大小 占空比越大,那等效的模拟电压就越趋近于 高电平
- 使用PWM波形 用来等效地实现一个模拟信号的输出
具体代码 书上是没啥的 我觉得也不至于代码 了解上面的代码就好了
原理可以看看 可能画图会在这(概率也不大)
- ADC(数模转换器) DAC(数字模拟转换器)
- ADC可以将引脚上连续变换的模拟电压转换为内存中存储的数字变量,建立模拟电路到数字电路的桥梁
- 12位逐次逼近型ADC 1us转换时间
- 输入电压范围: 0-3.3V 转换结果范围 : 0-4095
- 18个输入通道,可测量16个外部和2个内部信号源
- 规则组和注入组两个转换单元
- 模拟看门狗自动监测输入电压范围