IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 嵌入式 -> STM32F103Timer学习笔记--寄存器版本 -> 正文阅读

[嵌入式]STM32F103Timer学习笔记--寄存器版本

TIM3 定时器中断笔记

1.设置时钟源,采用外部高速时钟 F103是最大72MHz

在这里插入图片描述

2.APB1总线 挂载的TIM3的时钟

3.TIM3涉及到的寄存器

  1. CR1

    ? [0] 使能计数器

? [4] DIR 设置计数方向

? [6:5] CMS 对齐模式

? [7] ARPE:自动重装载预装载允许位

? TIM3->CR1 |= 0X0081;

  1. 设置预分频器(TIM3_PSC) APB1 36Mhz 经过自动倍频后给TIM3,分频7200,可以得到10Khz的频率(0.0001s)

    TIM3->PSC = 7200-1;

  2. 设置自动重装载寄存器(TIM3_ARR) 自动装入初值

    TIM3->ARR = 5000-1; //5000次触发一次计数,则输出的定时时间为0.5s

  3. 设置中断使能寄存器(TIM3_DIER) 开启中断

  4. 设置中断优先级,和中断回调

工作原理:

在这里插入图片描述
TIMER3 的PWM 功能

  1. 查阅中文手册介绍,涉及如下寄存器,学习每一个对应的寄存器的配置。

在这里插入图片描述

  1. 工作原理

脉冲宽度调制模式可以产生一个由TIMx_ARR寄存器确定频率、由TIMx_CCRx寄存器确定占空
比的信号。

在这里插入图片描述

通道1PWM 产生电路图

捕获比较寄存器(CCMR1)比较当前计数值(CNT)和装载CCR1的值,如果大于则溢出产生一个脉冲翻转信号.循环往复,就产生了PWM

通过配置对应寄存器使STM32在外部8Mhz 的时钟下对通道2 (LED PB5引脚)输出PWM

  1. 让对应引脚进行复用。查阅手册

在这里插入图片描述
将此引脚配置成TIMER3 通道2的引脚输出。开发板直接连接LED0.可以观察PWM效果

RCC->APB1ENR|=1<<1; 	//TIM3时钟使能    
RCC->APB2ENR|=1<<3;    	//使能PORTB时钟	
GPIOB->CRL&=0XFF0FFFFF;	//PB5输出
GPIOB->CRL|=0X00B00000;	//复用功能输出 	  	 
   
RCC->APB2ENR|=1<<0;     //开启辅助时钟	   
AFIO->MAPR&=0XFFFFF3FF; //清除MAPR的[11:10]
AFIO->MAPR|=1<<11;      //部分重映像,TIM3_CH2->PB5
  1. 寄存器配置
TIM3->EGR |= 1<<0; //初始化所有的寄存器
   		
TIM3->PSC = 7200-1;  // 得到 10khz的分频
TIM3->ARR = 100;     // 每次到100HZ.重新进行装载 :10KZH --> 100HZ
   		
//在TIMx_CCMRx寄存器中的OCxM位写入’110’(PWM模式1)或’111’(PWM模式2),能够独立地设置每个OCx输出通道产生一路PWM
TIM3->CCMR1 |= 6<<12; // 通道2 PWM模式,输出比较1模式。
TIM3->CCMR1 |= 1<<11;  // 输出比较2预装载使能 
TIM3->CCMR1 |= 1<<3;  // 开启TIMx_CCR1寄存器的预装载功能(寄存器) 读写操作仅对预装载寄存器操作, TIMx_CCR1的预装载值在更新事件到来时被加载至当前寄存器中。
TIM3->CCMR1 &= ~(2<<0); //CC1通道被配置为输出	
// 使能定制器,并设置计数器向上计数,边沿对齐模式
TIM3->CR1 |= 0X0081; 	
TIM3->CCER |= 1<<4; //OC2 输出使能
TIM3->CCER &= ~(1<<5);// OC2高电平有效
   	
// 修改这个值5000,配合AAR寄存器与装载值10000,产生1hz的 50%占空比PWM
TIM3->CCR2 = 50; // PB5链接通道2所以是CCR2 : 50% 1HZ PWM

PWM 效果:

功能拓展:

? 将PWM 和 定时器结合,定时器产生中断,来修改CCR2的比较值,就可以实现呼吸灯效果。

呼吸灯效果:

参考
timer3-pwm学习笔记git
PWM定时器工作原理
STM32英文手册
STM32中文手册

  嵌入式 最新文章
基于高精度单片机开发红外测温仪方案
89C51单片机与DAC0832
基于51单片机宠物自动投料喂食器控制系统仿
《痞子衡嵌入式半月刊》 第 68 期
多思计组实验实验七 简单模型机实验
CSC7720
启明智显分享| ESP32学习笔记参考--PWM(脉冲
STM32初探
STM32 总结
【STM32】CubeMX例程四---定时器中断(附工
上一篇文章      下一篇文章      查看所有文章
加:2022-10-31 12:14:20  更:2022-10-31 12:19:09 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/25 20:51:52-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码