STM8L中文参考手册4.docx
《STM8L中文参考手册4.docx》由会员分享,可在线阅读,更多相关《STM8L中文参考手册4.docx(157页珍藏版)》请在冰豆网上搜索。
![STM8L中文参考手册4.docx](https://file1.bdocx.com/fileroot1/2023-4/19/f49c42eb-de7b-4ea0-b2bf-9bbf16117d9a/f49c42eb-de7b-4ea0-b2bf-9bbf16117d9a1.gif)
STM8L中文参考手册4
20个16位通用定时器(TIM2,TIM3,tim5)
20.1引言
本章介绍TIM2,TIM3和tim5是相同的定时器。
每个定时器包括一个16位的升降自动重载计数器由一个可编程分频器驱动。
它可用于多种用途,包括:
●时基产生
●测量输入信号的脉冲长度(输入捕捉)
●生成输出波形(输出比较,脉宽调制和脉冲模式)
●中断能力的各种事件(捕获,比较,溢出)
●同步与其他计时器或外部信号(外部时钟,复位,触发
使)
定时器时钟可以来自内部时钟可以通过配置寄存器或从外部源。
只有通用定时器的主要特点是本章中提出的。
指的是部分19:
16点先进控制定时器对应的段落(TIM1)对每个功能的更多详细信息页面283。
20.2TIMx主要特点
通用TIMxTIM2/TIM3功能包括:
●16位上,下,上/downauto刷新计数器。
●3位可编程分频器使计数器的时钟频率可分”
飞”的任何权力,2从1到128。
2个独立的通道●:
输入捕捉
输出比较
PWM生成(边缘对齐方式)-一个脉冲输出的方式
●中断输入将定时器的输出信号在复位状态,或在一个已知状态。
●输入捕捉2可以通过从comp2比较器
●中断和DMA请求生成下列事件:
更新:
计数器溢出时,计数器初始化(软件)
输入捕捉
输出比较
中断输入
触发事件(计数器的启动,停止,内部/外部触发初始化或计数)
20.3.1时间单位
计时器时基单元包括:
●16位可逆计数器
●16位自动重载寄存器
●3位可编程分频器
没有重复计数器。
时钟源是内部时钟(fsysclk)。
它是直接连接到ck_psc
时钟饲料的预分频器计数器的时钟ck_cnt驱动。
分频器
分频器实现如下:
●预分频器的基础上通过一个3位寄存器控制的7位计数器(在
timx_pscr寄存器)。
它可以在飞这控制寄存器缓冲的改变。
它可以将计数器的时钟频率的1,2,4,8,16,32,64或128。
计数器的时钟频率计算如下:
fck_cnt=fck_psc/2(PSCR[2:
0])
计数器操作
请参阅第19.3.4:
上数288页,模式部分19.3.5:
向下计数在290页和第19.3.6模式:
中心对齐方式(向上/向下计数)292页。
20.3.2时钟/触发控制器
参考19.4节:
TIM1时钟/触发296页上的控制器。
20.3.3捕获/比较通道
输入阶段
参考19.5节:
TIM1捕获/比较310页上的通道。
有两个输入通道,如图122所示:
输入级的框图。
2频道内部连接到比较器。
输出级
请参阅第19.5.4:
315页,输出级19.5.5:
强制输出模式在316页,第19.5.7:
PWM模式318页。
如图124所示。
TIMx输出无死区或互补输出。
打破
利用中断函数时,输出使能信号和非活性水平是根据附加控制位改性(在timx_bkr寄存器MOE和Ossi位)。
当退出复位,中断电路被禁用和萌点低。
你可以通过设置在timx_bkr注册密位使中断功能。
中断输入极性可以通过配置在同一个寄存器的BKP点选择。
贝克尔和BKP可以
同时修改。
更多信息,参见“使用中断功能的325页。
表73:
与破坏特征OCI频道输出控制点(中断功能实现,互补输出未实现)392页。
20.3.4定时器输入异或函数
在timx_cr2注册ti1s位允许通道1的输入滤波器被连接到一个异或门的输出,结合三个输入引脚timx_ch1,timx_ch2和
timx_bkin。
XOR输出可用于所有的输入功能,如触发或输入捕捉。
此功能用于界面的霍尔传感器的一个例子是在第19.5.12:
用331页的霍尔传感器接口。
20.4TIMx中断
定时器5中断请求源:
●捕获/比较2中断
●捕获/比较1中断
●更新中断
●中断输入
●触发中断
使用中断的特点,为每一个中断通道,在timx_ier寄存器设置所需的cc2ie和/或cc1ie位使中断请求。
不同的中断源可以通过软件使用中的相应位寄存器也产生timx_egr。
7位:
自动加载预压使皮炎
0:
timx_arr寄存器不是通过预缓冲寄存器。
它可以直接写入1:
timx_arr寄存器是通过预缓冲寄存器
位6:
5CMS(1:
0]:
中心对齐方式的选择
00:
边缘对齐方式。
该计数器计数的向上或向下的方向取决于比特(DIR)。
01:
中心对齐方式1。
该计数器计数上下交替。
输出比较中断配置输出通道标志(CCIS=00timx_ccmri寄存器)是只有当计数器计数下降。
10:
中心对齐方式2。
该计数器计数上下交替。
输出比较中断配置输出通道标志(CCIS=00timx_ccmri寄存器)是只有当计数器计数。
11:
中心对齐方式3。
该计数器计数上下交替。
输出比较中断配置输出通道标志(CCIS=00timx_ccmri寄存器)设置当计数器计数上升或下降。
注意:
不允许从边缘对齐模式切换到中心对齐方式只要
计数器启用(岑=1)。
编码器模式(SMS=001,010,或011gpt_smcr寄存器)必须在centeraligned模式被禁用。
4位导演:
方向
0:
计数器作为计数器
1:
计数器作为计数器
注:
此位读取只有当定时器被配置在中心对齐方式或编码模式。
3位OPM:
单脉冲模式
0:
反不停在更新事件
1:
计数器停止计数在下次更新事件(结算中心点)
2位策略:
更新请求源
0:
当启用的udis点,如果点的设置和更新中断请求发送时发生以下事件之一:
寄存器的更新(计数器溢出/下溢)——UG点是由软件设置
更新事件通过时钟/触发控制器产生
1:
当启用的udis点,如果点的设置和更新中断请求发送仅当寄存器更新(计数器溢出/下溢)。
1位udis:
更新禁用
0:
一个UEV产生当计数器溢出发生或产生一个更新软件或硬件复位所产生的时钟/触发模式控制器。
缓冲寄存器,然后加载与预置值。
1:
一个UEV没有产生,影子寄存器保持他们的价值(ARR,PSC,中棉所)。
计数器和分频器被重新初始化如果UG位设置。
0位记者:
反使
0:
反残疾
1:
计数器启用
7位ti1s:
TI1(数字滤波器的输入)选择
0:
TI1CH1输入引脚连接到
1:
TI1连接到3输入CH1,CH2和打破(XOR组合)
位6:
4MMS[2:
0]:
主模式的选择
这些位选择要发送的信息在主模式的奴隶的定时器同步(TRGO)。
组合如下:
000:
重置-从timx_egr寄存器UG点作为一个触发器的输出(TRGO)。
如果复位是由触发输入产生(时钟/触发模式控制器配置触发器复位模式),对TRGO的信号延迟相比实际复位。
001:
使计数器使能信号作为触发输出(TRGO)。
它是用来启动几个
定时器在同一时间或控制一个窗口中,一个奴隶计时器启用。
计数器启用
信号是由一个逻辑或岑控制点和触发输入之间的配置
在门控模式。
当计数器使能信号,通过触发输入控制,有一个延迟
TRGO,除非主/从选择的模式(见timx_smcrMSM点描述
寄存器)。
010:
更新的更新事件被选择作为触发器输出(TRGO)011:
保留
100:
保留
101:
保留
111:
保留
3位CCD:
捕获/比较DMA的选择
0:
timx_cciDMA请求时发送的CCI(捕获/比较)事件发生
1:
timx_cciDMA请求时发送更新事件的发生
位2:
0保留,必须清除
7位:
主/从模式
0:
没有行动
1:
在触发输入事件的影响(TRGI)延迟定时器允许之间的完美同步(通过TRGO)。
位6:
4TS[2:
0]触发选择
(1)
本字段选择触发输入可用于同步计数器。
000:
内部触发itr0
001:
内部触发Itr1
010:
内部触发itr2
011:
内部触发itr3
100:
TI1边缘检测器(ti1f_ed)
101:
过滤输入1(ti1fp1)
110:
过滤输入2(ti2fp2)
111:
外触发输入(etrf)(从tim1_etr引脚)。
信号的滤波和极性可以通过tim5_ccmri和tim5_cceri寄存器。
注意:
这些位只能改变时,他们不习惯(如SMS=000)避免
错误的边缘检测的过渡。
3位保留。
位2:
0短信[2:
0]时钟/触发/从模式选择
当外部信号进行选择,触发信号的有效边(TRGI)是联系在一起的
极性对外部输入的选择(见输入控制寄存器和控制寄存器的描述)。
000:
时钟/触发控制器禁用-如果岑=1然后时钟的分频器
内部时钟。
001,010和011:
保留
100:
触发器复位模式-选定的触发信号的上升沿(TRGI)重新初始化计数器和产生该寄存器的更新。
101:
门控模式的计数器的时钟启用时,触发信号(TRGI)高。
该计数器停止(但不复位)一旦触发变低。
的开始和停止的计数器
控制。
110:
触发方式反在扳机触发信号的上升沿开始(但不是复位)。
只有计数器的启动控制。
111:
外部时钟模式1选择上升沿的触发(TRGI)时钟计数器
1。
参考表72:
TIMx内部触发器连接的376页上的每个定时器的itrx意义更多的细节。
注意:
当定时器不在产品,相应的触发器(itrx)不可用。
7位ETP:
外部触发极性
这些位确定是否ETR或ETR用于触发操作。
0:
出口退税是非反相,活跃在高水平或上升沿。
1:
出口退税是倒置的,活跃在低水平或下降沿。
6位ECE:
外部时钟使能
这一点使外部时钟模式2。
0:
外部时钟模式2残疾人
1:
外部时钟模式2启用。
计数器的时钟由任何积极的边缘上etrf信号。
注意:
设置ECE点具有相同的效果,选择触发信号的外部时钟模式1
连接到etrf(SMS=111和TS=111在tim1_smcr寄存器)。
可以使用外部时钟模式2同时有以下几种模式:
标准触发模式,触发复位模式和门控触发模式。
然而,触发信号不能被连接到etrf在这种情况下(TS位不能111在timx_smcr寄存器)。
如果外部时钟模式1和模式2的外部时钟同时启用,外部时钟输入将etrf。
位5:
4ETPs[1:
0]:
外部触发的预分频器
外部触发信号etrp频率必须在1/4的fsysclk频率。
预分频器可以减少etrp频率。
当外部时钟输入快是很有用的。
00:
分频器了
01:
etrp频率除以2
10:
etrp频率除以4
11:
etrp频率除以8
位3:
0ETF[3:
0]:
外部触发过滤器
本字段定义用于数字滤波器的长度和etrp信号采样频率
应用于etrp。
数字滤波器是由一个事件计数器,N事件都需要
验证输出过渡:
0000:
没有过滤器,采样是在fsysclk1000:
fsampling=fsysclk/8,N=6
0001:
fsampling=fsysclk,N=21001:
fsampling=fsysclk/8,N=8
0010:
fsampling=fsysclk,N=41010:
fsampling=fsysclk/16,N=5
0011:
fsampling=fsysclk,N=81011:
fsampling=fsysclk/16,N=6
0100:
fsampling=fsysclk/2,N=61100:
fsampling=fsysclk/16,N=8
0101:
fsampling=fsysclk/2,N=81101:
fsampling=fsysclk/32,N=5
0110:
fsampling=fsysclk/4,N=61110:
fsampling=fsysclk/32,N=6
0111:
fsampling=fsysclk/4,N=81111:
fsampling=fsysclk/32,N=8
位7:
3保留。
2位cc2de:
捕获/比较2个DMA请求使
(1)
0:
CC2DMA请求残疾
1:
CC2DMA请求启用
1位cc1de:
捕获/比较1个DMA请求使
(1)
0:
CC1DMA请求残疾
1:
CC1DMA请求启用
0位乌德:
更新的DMA请求使
(1)
0:
更新的DMA请求残疾
1:
更新的DMA请求启用
注意:
生成的事件更新DMA请求的条件下是相同的设置
如果点的(在timx_sr1寄存器)。
特别是,DMA请求取决于你的位
(在timx_cr1寄存器)。
1。
DMA请求相关的实际情况而不是状态位(在timx_sr1寄存器)。
没有DMA请求
如果xxde位写入1而相应的状态位已经设置发送。
7位BIE:
打破中断使能
0:
打破禁止中断
1:
打破中断使能
6位领带:
触发中断使能
0:
触发中断禁用
1:
触发中断使能
位5:
3保留,必须清除
2位cc2ie:
捕获/比较2中断使能
0:
CC2禁止中断
1:
CC2中断使能
1位cc1ie:
捕获/比较1中断使能
0:
CC1禁止中断
1:
CC1中断使能
0位UIE:
更新中断使能
0:
更新中断禁用
1:
更新中断使能
7大:
打破中断标志位
这个标志是由硬件一旦中断输入进行活动的。
它可通过软件清除如果
中断输入不活跃的。
0:
不中断事件发生。
1:
活动水平一直在打破输入检测。
6位格式:
触发中断标志
这个标志是由一个触发事件的硬件(活跃的边缘是触发信号信号检测和边缘检测时,门控模式选择)。
它是通过软件清除。
0:
有没有发生触发事件
1:
触发中断
位5:
3保留,必须清除
2位cc2if:
捕获/比较2中断标志
是指cc1if描述。
1位cc1if:
捕获/比较1中断标志
如果信道CC1配置为输出:
这个标志是由硬件计数器在匹配值比较。
它是通过软件清除。
0:
不匹配
1:
计数器的timx_cnt内容相匹配的timx_ccr1寄存器的内容如果信道CC1配置为输入:
这一点是由一个捕获硬件。
它是通过软件或通过阅读timx_ccr1l寄存器。
0:
没有发生输入捕捉
1:
计数器值已在timx_ccr1寄存器捕获(边缘一直在IC1匹配选择的极性检测)。
0如:
更新中断标志位
这一点是由一个事件更新硬件。
它是通过软件清除。
0:
没有发生更新
1:
更新中断。
这一点是由硬件时,寄存器的更新:
-在溢出如果udis=0在timx_cr1寄存器
当碳纳米管是由软件UG点timx_egr寄存器初始化,如果你的=0和udis=0在timx_cr1寄存器。
位7:
3保留
2位cc2of:
捕获/比较2overcapture旗
是指cc1of描述
1位cc1of:
捕获/比较1overcapture旗
这个标志是由硬件仅当相应的通道配置为输入捕捉
模式。
它是通过软件编写0。
0:
没有overcapture已检测到
1:
计数器的值已被抓获的timx_ccr1寄存器而cc1if标志已经设置
0位保留,由硬件0被迫
7位BG:
打破代
这一点是由软件生成的事件。
它是由硬件自动清除。
0:
没有行动
1:
产生一个中断事件。
教育部位被清除,如果标志设置。
中断如果由BIE点使产生。
6位TG:
触发生成
这一点是由软件生成的事件。
它是由硬件自动清除。
0:
没有行动
1:
TIF标志被设置在timx_sr1寄存器。
中断如果领带点使产生
位5:
3保留
2位cc2g:
捕获/比较2代
是指cc1g描述
1位cc1g:
捕获/比较1代
这一点是由软件生成一个连。
它是由硬件自动清除。
0:
没有行动
1:
一个捕获/比较事件是1频道的产生:
如果CC1通道配置输出模式。
在这种情况下,该cc1if标志设置,和相应的中断请求发送,如果启用。
如果配置输入模式的CC1通道。
在这种情况下,计数器的当前值
在timx_ccr1寄存器捕获。
该cc1if标志设置,和相应的中断请求发送,如果启用。
该cc1of标志设置如果cc1if旗帜已经高了。
0位UG:
更新
这一点可由软件设置,它是由硬件自动清除。
0:
没有行动
1:
重新初始化计数器和产生该寄存器的更新。
请注意,预分频器计数器也清除。
20.5.10捕获/比较寄存器模式1(timx_ccmr1)
该通道可用于输入(拍摄模式)或输出(比较模式)。
的
方向的通道是通过配置cc1s位定义。
这所有的位
寄存器的输入和输出模式有不同的功能。
对于一个给定的点,OCI描述其功能当信道配置的输出和ICI,介绍了它的功能时,在输入通道配置。
因此,要知道一点也可以在输入级和输出级不同的意义。
偏移地址:
0x550x09
重置价值:
0x00
7位保留
位6:
4Oc1M[2:
0]:
输出比较1模式
这些位定义的行为的输出参考信号oc1ref从OC1推导。
oc1ref活跃高而OC1活跃程度取决于cc1p点。
000:
冷冻-之间的输出比较寄存器和计数器timx_ccr1timx_cnt对输出没有影响
001:
设置通道1活性水平的比赛。
oc1ref信号被迫高当计数器timx_cnt匹配捕获/比较寄存器1(timx_ccr1)。
010:
设置通道1无效电平匹配。
oc1ref信号被迫低时,计数器timx_cnt匹配捕获/比较寄存器1(timx_ccr1)。
011:
切换oc1ref切换时timx_cnt=timx_ccr1100:
力不oc1ref被迫低水平
101:
主动力水平oc1ref被迫高
110:
在PWM模式计数1,1频道是积极只要timx_cnt<timx_ccr1。
否则,1频道是无效的。
在向下计数,1频道是无效的(oc1ref=0)只要timx_cnt>timx_ccr1。
否则,1频道是积极的(oc1ref=1)。
111:
在计数2模式PWM通道1是无效的,只要timx_cnt<timx_ccr1。
否则,1频道是活动的。
注意:
在PWM模式1或2的ociref水平的变化,只有当比较结果
变化或当输出比较模式从“冻结”模式向“调制”模式。
更多详情请参阅第19.5.7318页。
3位oc1pe:
输出比较1的预紧力使
0:
在timx_ccr1禁用预注册。
timx_ccr1可以写在任何时候。
新的价值考虑立即。
1:
在timx_ccr1预注册启用。
读/写操作的访问预置寄存器。
timx_ccr1预紧力值加载在影子寄存器在每个更新事件。
注:
对于正确的操作,预登记册必须启用时,定时器在PWM模式。
这
在单脉冲模式是不是强制性的(在timx_cr1寄存器OPM点集)。
2位oc1fe:
输出比较1快使
这一点是用来加速基于CC输出输入触发一个事件的影响。
0:
CC1通常表现取决于计数器和CCR1值甚至当触发对。
激活CC1输出触发输入时的边缘时,最小的延迟是5个时钟周期。
1:
在触发输入像CC1输出比较匹配一个活跃的边缘。
然后,OC设置为比较级独立的比较结果。
延迟采样触发输入和输出激活CC1减少到3个时钟周期。
只有当信道OCFE行为
配置PWM1或PWM2模式。
位1:
0cc1s[1:
0]:
捕获/比较1种选择
本字段定义的信道的方向(输入/输出)以及常用的输入。
00:
CC1通道被配置为输出
01:
CC1通道配置为输入,IC1映射ti1fp1
10:
CC1通道配置为输入,IC1映射ti2fp1
11:
CC1通道配置为输入,IC1映射在真相与和解委员会。
此模式仅如果内部触发输入选择通过TS点(tim5_smcr寄存器)。
注:
cc1s位可只有当关闭通道(cc1e=0和更新
timx_ccer1)。
位7:
4ic1f[3:
0]:
输入捕捉1滤波器
本字段定义用于样品的数字滤波器应用于TI1TI1输入和长度频率。
数字滤波器是由一个事件计数器,N事件都需要验证
在输出转换:
0000:
没有过滤器,取样是在fsysclk
0001:
fsampling=fsysclk,N=2
0010:
fsampling=fsysclk,N=4
0011:
fsampling=fsysclk,N=8
0100:
fsampling=fsysclk/2,N=6
0101:
fsampling=fsysclk/2,N=8
0110:
fsampling=fsysclk/4,N=6
0111:
fsampling=fsysclk/4,N=8
1000:
fsampling=fsysclk/8,N=6
1001:
fsampling=fsysclk/8,N=8
1010:
fsampling=fsysclk/16,N=5
1011:
fsampling=fsysclk/16,N=6
1100:
fsampling=fsysclk/16,N=8
1101:
fsampling=fsysclk/32,N=5
1110:
fsampling=fsysclk/32,N=6
1111:
fsampling=fsysclk/32,N=8
位3:
2ic1psc[1:
0]:
输入捕捉1分频器
此字段定义了分频器CC1输入之比(IC1)。
分频器是一cc1e=0复位(timx_ccer寄存器)。
00:
没有预分频器,捕获了每次边缘在捕捉输入01检测:
每2个事件触发一次捕获
10:
每4个事件触发一次捕获
11:
每8个事件触发一次捕获
注:
内部事件计数器不复位,ic1psc是改变的飞行。
在这种情况下,老
值被使用直到下一个捕获发生。
强迫一个新的价值被接受的帐户
立即的,cc1e位可以被清除和重新设置。
位1:
0cc1s[1:
0]:
捕获/比较1种选择
本字段定义的信道的方向(输入/输出)以及常用的输入。
00:
CC1通道被配置为输出
01:
CC1通道配置为输入,IC1映射ti1fp110:
CC1通道配置为输入,IC1映射ti2fp111:
保留
注:
cc1s位可只有当关闭通道(cc1e=0timx_ccer1和更新)。
7位保留
位6:
4oc2m[2:
0]:
输出比较2模式
3位oc2pe:
输出比较2的预紧力使
2位oc2fe:
输出比较2快使
位1:
0cc2s[1:
0]:
捕获/比较2种选择
本字段定义的信道的方向(输入/输出)以及常用的输入。
00:
2通道被配置为输出
01:
2通道配置为输入,IC2映射到ti2fp2
10:
2通道配置为输入,IC2映射到ti1fp2
11:
2通道配置为输入,IC2映射在真相与和解委员会。
此模式仅如果内部触发输入选择通过TS点(tim5_smcr寄存器)。
注:
cc2s位可只有当关闭通道(cc2e=0timx_ccer1)。
位7:
4ic2f[3:
0]:
输入捕捉2滤波器
位3:
2ic2pcs[1:
0]:
输入捕捉2分频器
位1:
0cc2s[1:
0]:
捕获/比较2种选择
本字段定义的信道的方向(输入/输出)以及常用的输入。
00:
2通道被配置为输出
01:
2通道配置为输入,IC2映射到ti2fp210:
2通道配置为输入,IC2映射到ti1fp211:
保留
注:
cc2s位可只有当关闭通道(cc2e=0timx_ccer1)。
位6:
7保留
5位cc2p:
捕获/比较2输出极性
是指cc1p描述
4位cc2e:
捕获/比较2输出使能
是指cc1e描述。
位2:
3保留
1位cc1p:
捕获/比较1输出极性
CC1通道被配置为