当前位置:文档之家› STM8L中文参考手册-4

STM8L中文参考手册-4

STM8L中文参考手册-4
STM8L中文参考手册-4

20个16位通用定时器(TIM2,TIM3,tim5)

20.1引言

本章介绍TIM2,TIM3和tim5是相同的定时器。

每个定时器包括一个16位的升降自动重载计数器由一个可编程分频器驱动。

它可用于多种用途,包括:●时基产生

●测量输入信号的脉冲长度(输入捕捉)

●生成输出波形(输出比较,脉宽调制和脉冲模式)

●中断能力的各种事件(捕获,比较,溢出)

●同步与其他计时器或外部信号(外部时钟,复位,触发

使)

定时器时钟可以来自内部时钟可以通过配置寄存器或从外部源。

只有通用定时器的主要特点是本章中提出的。指的是部分19:16点先进控制定时器对应的段落(TIM1)对每个功能的更多详细信息页面283。

20.2 TIMx主要特点

通用TIMx TIM2 / 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.4 TIMx中断

定时器5中断请求源:●捕获/比较2中断

●捕获/比较1中断

●更新中断

●中断输入

使用中断的特点,为每一个中断通道,在timx_ier寄存器设置所需的cc2ie和/或cc1ie位使中断请求。

不同的中断源可以通过软件使用中的相应位寄存器也产生timx_egr。

7位:自动加载预压使皮炎

0:timx_arr寄存器不是通过预缓冲寄存器。它可以直接写入1:timx_arr寄存器是通过预缓冲寄存器

位6:5 CMS(1:0 ]:中心对齐方式的选择

00:边缘对齐方式。该计数器计数的向上或向下的方向取决于比特(DIR)。

01:中心对齐方式1。该计数器计数上下交替。输出比较中断配置输出通道标志(CCIS = 00 timx_ccmri寄存器)是只有当计数器计数下降。

10:中心对齐方式2。该计数器计数上下交替。输出比较中断配置输出通道标志(CCIS = 00 timx_ccmri寄存器)是只有当计数器计数。

11:中心对齐方式3。该计数器计数上下交替。输出比较中断配置输出通道标志(CCIS = 00 timx_ccmri寄存器)设置当计数器计数上升或下降。

注意:不允许从边缘对齐模式切换到中心对齐方式只要

计数器启用(岑= 1)。

编码器模式(SMS = 001,010,或011 gpt_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位记者:反使

1:计数器启用

7位ti1s:TI1(数字滤波器的输入)选择

0:TI1 CH1输入引脚连接到

1:TI1连接到3输入CH1,CH2和打破(XOR组合)

位6:4 MMS [2:0]:主模式的选择

这些位选择要发送的信息在主模式的奴隶的定时器同步(TRGO)。组合如下:

000:重置-从timx_egr寄存器UG点作为一个触发器的输出(TRGO)。如果复位是由触发输入产生(时钟/触发模式控制器配置触发器复位模式),对TRGO的信号延迟相比实际复位。001:使计数器使能信号作为触发输出(TRGO)。它是用来启动几个

定时器在同一时间或控制一个窗口中,一个奴隶计时器启用。计数器启用

信号是由一个逻辑或岑控制点和触发输入之间的配置

在门控模式。当计数器使能信号,通过触发输入控制,有一个延迟

TRGO,除非主/从选择的模式(见timx_smcr MSM点描述

寄存器)。

010:更新的更新事件被选择作为触发器输出(TRGO)011:保留

100:保留

101:保留

111:保留

3位CCD:捕获/比较DMA的选择

0:timx_cci DMA请求时发送的CCI(捕获/比较)事件发生

1:timx_cci DMA请求时发送更新事件的发生

位2:0保留,必须清除

7位:主/从模式

0:没有行动

1:在触发输入事件的影响(TRGI)延迟定时器允许之间的完美同步(通过TRGO)。

位6:4 TS [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:4 ETPs [1:0]:外部触发的预分频器

外部触发信号etrp频率必须在1 / 4的fsysclk频率。预分频器可以减少etrp频率。当外部时钟输入快是很有用的。

00:分频器了

01:etrp频率除以2

10:etrp频率除以4

11:etrp频率除以8

位3:0 ETF [3:0]:外部触发过滤器

本字段定义用于数字滤波器的长度和etrp信号采样频率

应用于etrp。数字滤波器是由一个事件计数器,N事件都需要

验证输出过渡:

0000:没有过滤器,采样是在fsysclk 1000:fsampling = fsysclk / 8,N = 6

0001:fsampling = fsysclk,N = 2 1001:fsampling = fsysclk / 8,N = 8

0010:fsampling = fsysclk,N = 4 1010:fsampling = fsysclk / 16,N = 5

0011:fsampling = fsysclk,N = 8 1011:fsampling = fsysclk / 16,N = 6

0100:fsampling = fsysclk / 2,N = 6 1100:fsampling = fsysclk / 16,N = 8

0101:fsampling = fsysclk / 2,N = 8 1101:fsampling = fsysclk / 32,N = 5

0110:fsampling = fsysclk / 4,N = 6 1110:fsampling = fsysclk / 32,N = 6

0111:fsampling = fsysclk / 4,N = 8 1111:fsampling = fsysclk / 32,N = 8

位7:3保留。

2位cc2de:捕获/比较2个DMA请求使(1)

0:CC2 DMA请求残疾

1:CC2 DMA请求启用

1位cc1de:捕获/比较1个DMA请求使(1)

0:CC1 DMA请求残疾

1:CC1 DMA请求启用

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:捕获/比较2 overcapture旗

是指cc1of描述

1位cc1of:捕获/比较1 overcapture旗

这个标志是由硬件仅当相应的通道配置为输入捕捉

模式。它是通过软件编写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,介绍了它的功能时,在输入通道配置。因此,要知道一点也可以在输入级和输出级不同的意义。

偏移地址:0x55 0x09

重置价值:0x00

7位保留

位6:4 Oc1M [2:0]:输出比较1模式

这些位定义的行为的输出参考信号oc1ref从OC1推导。oc1ref活跃高而OC1活跃程度取决于cc1p点。

000:冷冻-之间的输出比较寄存器和计数器timx_ccr1 timx_cnt对输出没有影响

001:设置通道1活性水平的比赛。oc1ref信号被迫高当计数器timx_cnt匹配捕获/比较寄存器1(timx_ccr1)。

010:设置通道1无效电平匹配。oc1ref信号被迫低时,计数器timx_cnt匹配捕获/比较寄存器1(timx_ccr1)。

011:切换oc1ref切换时timx_cnt = timx_ccr1 100:力不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.7 318页。

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:0 cc1s [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:4 ic1f [3:0]:输入捕捉1滤波器

本字段定义用于样品的数字滤波器应用于TI1 TI1输入和长度频率。数字滤波器是由一个事件计数器,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:2 ic1psc [1:0]:输入捕捉1分频器

此字段定义了分频器CC1输入之比(IC1)。分频器是一cc1e = 0复位(timx_ccer寄存器)。00:没有预分频器,捕获了每次边缘在捕捉输入01检测:每2个事件触发一次捕获

10:每4个事件触发一次捕获

11:每8个事件触发一次捕获

注:内部事件计数器不复位,ic1psc是改变的飞行。在这种情况下,老

值被使用直到下一个捕获发生。强迫一个新的价值被接受的帐户

立即的,cc1e位可以被清除和重新设置。

位1:0 cc1s [1:0]:捕获/比较1种选择

本字段定义的信道的方向(输入/输出)以及常用的输入。00:CC1通道被配置为输出

01:CC1通道配置为输入,IC1映射ti1fp1 10:CC1通道配置为输入,IC1映射ti2fp1 11:保留

注:cc1s位可只有当关闭通道(cc1e = 0 timx_ccer1和更新)。

7位保留

位6:4 oc2m [2:0]:输出比较2模式

3位oc2pe:输出比较2的预紧力使

2位oc2fe:输出比较2快使

位1:0 cc2s [1:0]:捕获/比较2种选择

本字段定义的信道的方向(输入/输出)以及常用的输入。00:2通道被配置为输出

01:2通道配置为输入,IC2映射到ti2fp2

10:2通道配置为输入,IC2映射到ti1fp2

11:2通道配置为输入,IC2映射在真相与和解委员会。此模式仅如果内部触发输入选择通过TS点(tim5_smcr寄存器)。

注:cc2s位可只有当关闭通道(cc2e = 0 timx_ccer1)。

位7:4 ic2f [3:0]:输入捕捉2滤波器

位3:2 ic2pcs [1:0]:输入捕捉2分频器

位1:0 cc2s [1:0]:捕获/比较2种选择

本字段定义的信道的方向(输入/输出)以及常用的输入。00:2通道被配置为输出

01:2通道配置为输入,IC2映射到ti2fp2 10:2通道配置为输入,IC2映射到ti1fp2 11:保

注:cc2s位可只有当关闭通道(cc2e = 0 timx_ccer1)。

位6:7保留

5位cc2p:捕获/比较2输出极性

是指cc1p描述

4位cc2e:捕获/比较2输出使能

是指cc1e描述。

位2:3保留

1位cc1p:捕获/比较1输出极性

CC1通道被配置为输出:

0:OC1活性高

1:OC1活性低

CC1通道配置为输入捕捉功能(参见图100):0:捕获在ti1f或ti2f上升沿做

1:捕获在ti1f或ti2f下降沿时做的

0位cc1e:捕获/比较1输出使能。

CC1通道被配置为输出:

0:非OC1不活跃。

1:对OC1信号在相应的输出端子输出。CC1通道配置为输入:

在这种情况下,这一点决定如果捕获的计数器的值可以在输入捕获/比较寄存器1(timx_ccr1)或不。

0:捕捉禁用

1:捕捉启用

位7:3保留

位2:0 PSC [2:0]:预分频器值

预分频器的值将ck_psc时钟频率。

计数器的时钟频率fck_cnt等于fck_psc / 2(PSC [2:0])。PSC [ 3 ]被迫0硬件。PSCR包含装载在有源分频器寄存器在每个更新事件的价值

(包括当计数器通过对timx_egr寄存器UG点清除)。

这意味着,UEV必须产生这样一个新的预分频器值可以考虑。

7位ARR [15:8]:自动重载值(MSB)

ARR是装在实际的自动重载寄存器的值。

参阅第19.3节:TIM1时基单元286页有关ARR更新和行为的更多细节。

计数器被阻塞而自动重载值为0。

位7:0 CCR1 [15:8]:捕获/比较1个值(MSB)

如果CC1通道被配置为输出(cc1s位timx_ccmr1寄存器):

CCR1值加载永久进入实际的捕获/比较寄存器1如果预

功能没有启用(在timx_ccmr1 oc1pe点)。否则,预加载值复制的

主动捕获/比较寄存器1当UEV发生。主动捕获/比较寄存器

包含这是相对于计数器寄存器,timx_cnt价值,而且对OC1

输出。

如果CC1通道配置为输入(cc1s位timx_ccmr1寄存器):

CCR1的价值是由过去的输入捕捉1事件将计数器的值(IC1)。在这种情况下,这些位是只读的。

位7:0 CCR2 [15:8]:捕获/比较2个值(MSB)

如果CC2通道被配置为输出(cc2s位timx_ccmr2寄存器):

CCR2的值加载永久进入实际的捕获/比较寄存器2如果预

功能没有启用(在timx_ccmr2 oc2pe点)。否则,预加载值复制的

主动捕获/比较寄存器2当UEV发生。主动捕获/比较寄存器

包含这是相对于计数器寄存器,timx_cnt的价值,而且在OC2

输出。

如果CC2通道配置为输入(cc2s位timx_ccmr2寄存器):

CCR2的价值是由过去的输入捕捉2事件将计数器的值(IC2)。

7位MOE:主要输出使能

这一点是由硬件清除异步尽快打破输入有效。它是由软件设置或自动根据AOE点。它只有在被配置在输出通道的行为。

0:OC输出被禁用或被迫闲置状态

1:OC输出,如果各自的使能位设置启用(ccxe在timx_cceri寄存器)

看到更多的细节描述OC使(第19.8.14 352页)。

6位范围:自动输出使能

0:教育部只能设置的软件

1:教育部可由软件设置或自动在下UEV(如果中断输入不活跃)。

注:这一点可以不再被修改只要锁定1级已经被编程(锁位

在timx_bkr寄存器)。

5位BKP:打破极性

0:打破BKIN是低电平输入

1:打破BKIN是高电平输入

注:这一点可以不再被修改只要锁定1级已经被编程(锁位

在timx_bkr寄存器)。

4位密折让

0:打破输入(BKIN)禁用

1:打破输入(BKIN)启用

注:这一点可以不再被修改只要锁定1级已经被编程(锁位

在timx_bkr寄存器)。

3位保留,必须清除

2位东德人:关闭状态选择空闲模式

这一点是用来当萌= 0通道配置为输出。看到更多的细节描述OC使(第19.8.14 352页)。0:当无效,OCI的输出被禁用(OCI使输出信号= 0)。

1:当无效,OCI输出被迫先用闲置的水平尽快CCI E = 1。OC使输出信号= 1)

注:这一点可以不再被修改的尽快锁定2级已经被编程(锁位在timx_bkr寄存器)。

位1比0锁定[1:0]:锁结构。

这些位提供写对软件错误保护。00:锁断无位写保护

01:锁水平timx_oisr寄存器和密/ BKP / AOE在timx_bkr寄存器位可以不再被写入1 = OISI 点。

10:锁2=锁1级+ CC极性位水平(在timx_cceri CCIP位寄存器,只要相关信道配置的输出通过CCIS位)以及OSSR和Ossi位可以不再写。

11:锁3级=锁定2级+ CC控制位(在timx_ccmri ocim和ocipe位寄存器,

只要相关的信道配置的输出通过CCIS位)可以不再

写的。

注:锁位可以只有一次复位后写的。一旦timx_bkr已登记的

写的,其内容被冻结,直到下一个复位。

注:为位受教,BKP,喜欢和东德人可以写锁定于锁

配置,它可能需要配置所有的人在第一次写访问的timx_bkr寄存器。

注:的外部I / O引脚连接到OCX通道的状态取决于OCX信道状态和GPIO寄存器。

位7:3保留,必须清除

2位ois2:输出空闲状态2(OC 2输出)

是指ois1点

1位保留,必须清除

0位ois1:输出空闲状态1(OC1输出)

0:OC1 = 0 = 0时,弹性模量

1:OC1 = 1 = 0时,弹性模量

注:这一点可以不再被修改只要锁级别1,2或3已被编程(锁位在timx_bkr寄存器)。

21、8位基本定时器(时间)

21.1引言

定时器包括一个8位自动重载计数器由一个可编程分频器驱动。它可用于时基产生中断,定时器溢出的一代。

用于定时器功能的一般描述参见第19.3页286。

21.2时间的主要特点

主要功能包括:

●8位自动重载计数器

●4位可编程分频器,允许分(也称―对飞‖)的计数器的时钟

频率的任何权力,2从1到32768。

●生成中断

在计数器更新:在触发输入计数器溢出

●DMA请求生成

在计数器更新:计数器溢出

21.3 tim4interrupts

定时器2中断请求源:

●更新中断(溢出,计数器初始化)

●触发输入

21.4时间时钟选择

为定时器时钟来源是内部时钟(fsysclk)。它是直接连接到ck_psc时钟饲料的预分频器计数器的时钟ck_cnt驱动。

分频器

分频器实现如下:

●的时间预分频器是基于通过一个4位寄存器控制一个16位的计数器(在

tim4_pscr寄存器)。它可以在飞这控制寄存器缓冲的改变。它

可以将计数器的时钟频率的任何权力,2从1到32768。

计数器的时钟频率计算如下:

fck_cnt = fck_psc / 2(PSCR [3:0])

预分频器的值是通过一个预加载寄存器。影子寄存器,它

最新STM8L15X中文参考手册资料

本参考手册的目标应用程序开发人员。它提供了完整的信息如何使用stm8l05xx,stm8l15xx 和stm8l16xx微控制器的存储器和外围设备。 该stm8l05xx / stm8l15xx / stm8l16xx是一个家庭的不同存储密度的微控制器和外围设备。这些产品是专为超低功耗应用。可用的外设的完整列表,请参阅产品数据表。 订购信息,引脚说明,机械和电气设备的特点,请参阅产品数据表。 关于STM8 SWIM通信协议信息和调试模块,请参阅用户手册(um0470)。 在STM8的核心信息,请参阅STM8的CPU编程手册(pm0044)。关于编程,擦除和保护的内部快闪记忆体,请参阅STM8L闪存编程手册(pm0054)。

1 中央处理单元(CPU)。30。 1.1 引言30 1.2 CPU的寄存器。30。 1.2.1 描述CPU寄存器。..。30 1.2.2 STM8 CPU寄存器图。..。34 1.3 全球配置寄存器(cfg_gcr)。34。 1.3.1 激活水平。..。34 1.3.2 游泳禁用。..。35 1.3.3 描述全局配置寄存器(cfg_gcr)。..。35 1.3.4 全局配置寄存器图及复位值。..。35 2 启动ROM . . . 36 3程序存储器和数据存储器。37。 3.1引言37 3.2术语。37。 3.3个主要的快闪存储器的特点。38。 3.4记忆的组织。39。 3.4.1低密度设备的存储器组织。39 3.4.2介质密度的装置记忆的组织。..。40 3.4.3介质+密度装置记忆的组织。..。41 3.4.4高密度存储器组织。..。42 3.4.5专有代码区(译)。43 3.4.6用户区(UBC)。43 3.4.7数据的EEPROM(数据)。..。46 3.4.8主程序区。46 3.4.9选项字节。..。46 3.5内存保护。47。 3.5.1读出保护。47 3.5.2内存访问安全系统(质量)。47 3.5.3使写访问选项字节。49 3.6内存编程49 3.6.1同时读写(读写网)。..。49 2 / 573文档ID 15226转9 rm0031内容 3.6.2字节编程。..。49 3.6.3字编程。50 3.6.4块编程。50 3.6.5选项字节编程。52 Flash 3.7的低功耗模式。52。 3.8例ICP和IAP。52。 3.9闪光寄存器57 3.9.1闪光控制寄存器1(flash_cr1)。57 3.9.2闪光控制寄存器2(flash_cr2)。58

STM8L152中文介绍

STM8L152介绍 8位超低功耗单片机,高达64 + 2字节数据的闪存EE PROM,EEPROM (Electrically Erasable Programmable ), 实时时钟,液晶显示器,定时器,USART,C,SPI,模数转换器,数模转换器,比较器特点:操作条件:工作电源:1.65v~ 3.6v 温度范围:40 to 85, 105 or 125 低功耗的特点:5个低功耗模式:等,低功率运行 (5.9|ì一),低功耗等(3|ì一),active-halt 全实时时钟(1.4|ì一),停止(400) 动态功率消耗:200UA/兆赫+ 330UA,快速唤醒从停止模式(4.7us) 超低漏 I/ O:50nA 先进的stm8核心: 哈佛结构和三级流水线

最大频率:16条16mhz,相关峰 最多40个外部中断源 复位和供应管理: 低功率,超安全欠压复位5可编程阈值 超低功率POR /PDR(通电复位/Protection(保护)、Detection(检测)、Response(响应)) 可编程电压检测器(Programmable voltage detector (PVD)) 时钟管理 32kHz和1-16MHz晶体振荡器 工厂校准的内部16MHz RC和 38kHz的低功耗RC 时钟安全系统

低功耗RTC BCD日历,闹钟中断, 数字校准+ / - 0.5ppm的准确度 先进的防篡改检测 DMA 4个通道。 ADC,DAC的,SPIS,我 2C,USART接口,定时器,1路。存储器到存储器的 LCD:8x40或4x44瓦特/升压转换器 12位ADC1 Msps/28渠道 温度。传感器和内部参考。电压 记忆

STM8L051低功耗模式实现说明文档

STM8L051低功耗模式测试文档 STM8L051的五种低功耗模式wait ,low power run mode,low power wait mode,Ative-Halt mode,Halt mode。 1、WAIT mode 在等待模式,CPU的时钟是停止的,被选择的外设继续运行。W AIT mode 分为两种方式:WFE,WFI。WFE是等待事件发生,才从等待模式中唤醒。WFI是等待中断发生,才从等待模式中唤醒。 2、low power run mode 在低功耗运行模式下,CPU和被选择的外设在工作,程序执行在LSI或者LSE下,从RAM 中执行程序,Flash和EEPROM都要停止运行。电压被配置成Ultra Low Power模式。进入此模式可以通过软件配置,退出此模式可以软件配置或者是复位。 3、low power wait mode 这种模式进入是在low power run mode下,执行wfe。在此模式下CPU时钟会被停止,其他的外设运行情况和low power run mode类似。在此模式下可以被内部或外部事件、中断和复位唤醒。当被事件唤醒后,系统恢复到low power run mode。 4、Active-Halt mode 在此模式下,除了RTC外,CPU和其他外设的时钟被停止。系统唤醒是通过RTC中断、外部中断或是复位。 5、Halt mode 在此模式下,CPU和外设的时钟都被停止。系统唤醒是通过外部中断或复位。关闭内部的参考电压可以进一步降低功耗。通过配置ULP位和FWU位,也可以6us的快速唤醒,不用等待内部的参考电压启动。 一、各个低功耗模式的代码实现 1、WAIT mode 等待模式分为两种:WFI和WFE。 1.1 WFI mode 当执行“wfi”语句时,系统就进入WFI模式,当中断发生时,CPU被从WFI模式唤醒,执行中断服务程序和继续向下执行程序。 通过置位CFG_GCR的AL位,使主程序服务完中断服务程序后,重新返回到WFI 模式。 程序如下: void Mcuwfi() { PWR_UltraLowPowerCmd(ENABLE); //开启电源的低功耗模式 CLK_HSEConfig(CLK_HSE_OFF); //关闭HSE时钟(16MHz) #ifdef USE_LSE CLK_SYSCLKSourceConfig(CLK_SYSCLKSource_LSE);

2021年STM8L中文参考手册-1

简介 欧阳光明(2021.03.07) 本参考手册的目标应用程序开发人员。它提供了完整的信息如何使用stm8l05xx,stm8l15xx和stm8l16xx微控制器的存储器和外围设备。 该stm8l05xx / stm8l15xx / stm8l16xx是一个家庭的不同存储密度的微控制器和外围设备。 这些产品是专为超低功耗应用。可用的外设的完整列表,请参阅产品数据表。 订购信息,引脚说明,机械和电气设备的特点,请参阅产品数据表。 关于STM8 SWIM通信协议信息和调试模块,请参阅用户手册(um0470)。 在STM8的核心信息,请参阅STM8的CPU编程手册(pm0044)。关于编程,擦除和保护的内部快闪记忆体,请参阅STM8L闪存编程手册(pm0054)。 表一、 类型零件号 控制器价值线低密度stm8l05xx设备:stm8l051x3 8KB Flash微控制器 价值线中密度stm8l05xx设备:stm8l052x6微控制器与32闪光 价值线高密度stm8l05xx设备:stm8l052x8 64-KB闪存微控制器 低密度stm8l15x设备:stm8l151c2 / K2 / G2/F2, stm8l151c3 / K3 / G3 / F3微控制器与4KB或8KB Flash 中密度stm8l15xx设备:stm8l151c4 / K4 / G4, 微控制器stm8l151c6 / K6 / G6,stm8l152c4 / K4和stm8l152c6 / K6 微控制器与16-KB或32闪光 培养基+密度stm8l15xx设备:stm8l151r6和 stm8l152r6微控制器与闪存(32比中密度器件广泛的外设范围) 高密度stm8l15xx设备:stm8l151x8和stm8l152x8 随着64-KB闪存微控制器(相同的外周设置为中等+) 高密度stm8l16xx设备:stm8l162x8微控制器与闪存(相同的外周设置为 64-KB高密度stm8l152设备加AES硬件加速器 目录 1中央处理单元(CPU)。30。 1.1引言30 1.2 CPU的寄存器。30。 1.2.1描述CPU寄存器。..。30 1.2.2STM8 CPU寄存器图。..。34 1.3全球配置寄存器(cfg_gcr)。34。 1.3.1激活水平。..。34

STM8L中文参考手册(4)-

STM8L中文参考手册(4)- 20 16位通用定时器(TIM2、TIM3、tim5) 20.1简介 本章介绍TIM2、TIM3和tim5是相同的定时器 每个定时器包括一个由可编程分频器驱动的16位上下自动重载计数器它可以用于多种目的,包括:●定时产生●测量输入信号的脉冲长度(输入捕获) ●产生输出波形(输出比较、脉宽调制和脉冲模式)●各种中断能力事件(捕获、比较、溢出) ●与其他定时器或外部信号(外部时钟、复位、触发使能)同步 定时器时钟可以来自内部时钟,也可以来自配置寄存器或外部源本章仅介绍通用定时器的主要特性。它参考了与19:16高级控制定时器(TIM1)相对应的部分中的每个功能的更详细的信息页28320.2 TIMx 主要功能 通用TIMx TIM2/TIM3功能包括: ●16位向上、向下、向上/向下自动刷新计数器●3位可编程分频器允许将计数器的时钟频率分成1至128的任意2次方两个独立的低电平通道:输入捕获输出比较 脉冲宽度调制产生(边沿对齐)-一个脉冲输出模式 低电平中断输入,用于复位定时器输出信号,或处于已知状态●输入捕捉2可通过来自comp2比较器 :

更新的中断和DMA请求产生以下事件:当计数器溢出时,计数器初始化(软件)输入捕捉输出比较中断输入 触发事件(开始、停止、内部/外部触发初始化或计数) 20.3.1时间单元 定时器时基单元包括:●16位可逆计数器 时钟源是内部时钟(fsysclk)它由预分频器计数器的时钟ck_cnt驱动,预分频器计数器直接连接到ck_psc时钟馈送 分频器 分频器的实现如下:7位计数器(在timx_pscr寄存器中)由基于 低预分频器的3位寄存器控制它可以控制飞行中寄存器缓冲区的变化。它可以将计数器的时钟频率转换为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:中心对齐(向上/向下计数)29220.3.2时钟/触发控制器 参见第296页第19.4节:TIM1时钟/触发控制器20.3.3采集/比较通道输入级 参见第310页第19.5节:TIM1采集/比较通道 有两个输入通道,如图122:输入级框图通道2内部连接到比较器

stm8l中文参考手册(下)

手动开关 手动开关没有自动切换为直接的但它提供给用户的切换事件时间的精确控制。参照图20中的流程图。 1。写使用系统时钟开关选择目标时钟源的8位值寄存器(clk_swr)。然后swbsy位是由硬件,和目标源振荡器开始。古老的时钟源继续驱动CPU和外设。 2。该软件具有等到目标时钟源准备(稳定的)。这是在clk_swcr寄存器和快捷旗由中断如果swien位设置显示。 3。最终软件的作用是设置,在所选择的时间,在clk_swcr的赛文点寄存器来执行开关。在手动和自动切换模式,旧的系统时钟源不会自动关闭的情况下是由其他模块(LSI混凝土可用于例如独立的看门狗驱动)。时钟源可以关机使用在内部时钟寄存器的位(clk_ickcr)和外部时钟寄存器(clk_eckcr)。如果时钟开关不因任何原因的工作,软件可以通过清除swbsy 标志复位电流开关操作。这将恢复clk_swr注册到其以前的内容(旧的系统时钟)。注意:在清理swbsy标志具有复位时钟主开关的程序,应用程序必须等到后产生新的主时钟切换请求之前有一段至少两个时钟周期。

9.7周门控时钟(PCG) 外周时钟门控(PCG)模式选择性地启用或禁用系统时钟(SYSCLK)连接到外围设备在运行或慢速模式的任何时间来优化功耗。 设备复位后,所有的外设时钟被禁用。唯一的一点是在复位状态是默认启用pcken27因为它用于启动。软件已被正确地写入关掉ROM Bootloader执行后的时钟。 您可以启用时钟的任何外围设置在clk_pckenrx周围门控时钟寄存器的相应pcken点。 ●使周围,首先使在clk_pckenr相应的pcken点 寄存器然后设置使点周围的外围控制寄存器。 ●禁用适当的外围,先禁用在周边的适当位 控制寄存器,然后停止相应的时钟。

stm8L051F3

This is information on a product in full production. March 2014 DocID023465 Rev 21/93 STM8L051F3 Value Line, 8-bit ultralow power MCU, 8-KB Flash, 256-byte data EEPROM, RTC, timers, USART, I2C, SPI, ADC Datasheet production data Features ?Operating conditions –Operating power supply: 1.8 V to 3.6 V Temperature range: ?40 °C to 85 °C ?Low power features – 5 low power modes: Wait, Low power run (5.1 μA), Low power wait (3 μA), Active-halt with RTC (1.3 μA), Halt (350 nA)–Ultra-low leakage per I/0: 50 nA –Fast wakeup from Halt: 5 μs ?Advanced STM8 core –Harvard architecture and 3-stage pipeline –Max freq: 16 MHz, 16 CISC MIPS peak –Up to 40 external interrupt sources ?Reset and supply management –Low power, ultra-safe BOR reset with 5 selectable thresholds –Ultra low power POR/PDR –Programmable voltage detector (PVD)?Clock management –32 kHz and 1 to 16 MHz crystal oscillators –Internal 16 MHz factory-trimmed RC –Internal 38 kHz low consumption RC –Clock security system ?Low power RTC –BCD calendar with alarm interrupt –Digital calibration with +/- 0.5 ppm accuracy –LSE security system –Auto-wakeup from Halt w/ periodic interrupt ?Memories –8 Kbytes of Flash program memory and 256 bytes of data EEPROM with ECC –Flexible write and read protection modes – 1 Kbyte of RAM ?DMA – 4 channels supporting ADC, SPI, I2C, USART, timers – 1 channel for memory-to-memory ?12-bit ADC up to 1 Msps/28 channels –Internal reference voltage ?Timers –Two 16-bit timers with 2 channels (used as IC, OC, PWM), quadrature encoder –One 8-bit timer with 7-bit prescaler – 2 watchdogs: 1 Window, 1 Independent –Beeper timer with 1, 2 or 4 kHz frequencies ?Communication interfaces –Synchronous serial interface (SPI)–Fast I 2C 400 kHz SMBus and PMBus –USART ?Up to 18 I/Os, all mappable on interrupt vectors ?Development support –Fast on-chip programming and non-intrusive debugging with SWIM –Bootloader using USART https://www.doczj.com/doc/e46738045.html,

STM8L入门手册

STM8L单片机入门手册 注:本教程以STM8L052R8和IAR开发环境为例1、IAR环境安装与注意事项: 安装时按照一般软件安装即可,提示需要输入License时请使用IAR kegen PartC软件进行破解,注意Product选择STM8项,如下图示: 另外:机器上本身安装过MSP430平台的IAR环境,安装STM8平台的IAR是可以兼容的

2、IAR环境创建STM8工程: 2.1、创建工程 如下图示,打开IAR环境for STM8 选择project->Create New Project,选择C语言开发,点击“OK” 选择保存路径后输入工程名点击“保存”即可。

按上图示,添加文件分组,并命名“SRC”和“Lib”,类似方法在分组中添加文件。 2.2工程重要设置: 右击工程名,选择“Options…” 在General Options项中,Target选项卡中按照下图设置: 在C/C++ Compiler项中,Preprocessor选项卡中添加头文件路径,如下图示:

红色圈内容直接输入(不能选???) $PROJ_DIR$\..\Lib\inc 解释:$PROJ_DIR$->表示当前工程目录(.eww文件所在目录); ..->表示上层目录; 在Debugger项中,设置仿真调试器与入口函数,如下图示:

main 上图中,Run to:写main 这里是设置入口函数2.3设置生成HEX文件: 右击工程名,选择“Options…”

该设置不会影响调试器在线仿真功能,可以一直勾选上,这点和MSP430不同。 3、IAR环境常见问题及解决方法 3.1、Couldn’t go to ‘M52Li’ 进入调试模式是会有下图警告,并且不能调试 找不到入口函数,入口函数应该是main 3.2、“The debugging session could not be started.” 由于脱机烧录或者其他原因写了保护,造成连接不上目标板。 解决方法: 打开STVP软件,点击读取按钮,会出现以下报错: 此时,进入到OPTION BYTE页面,将ROP写为OFF模式,如下图示

STM8L05X入门学习笔记

1、工程新建 首先新建文件夹,在文件夹下建立四个文件(这个看个人喜好),我喜欢建立一个工程文件夹Project用于存放工程文件,Library文件用于存放库文件,App用于存放用户程序,Doc 用于存放说明文档,如图1所示。 图1 二:将官方的库文件Libraries文件下STM8S_StdPeriph_Driver这个文件下的内容复制到自己新建的Library文件下,把官方Project文件下Template文件夹下main.c stm8s_conf.h stm8s_it.c 和stm8s_it.h复制到App文件夹下。如图2,图3。 图2 图3 三:打开IAR 选择Project-> Create New Project –>ok,将文件保存到Project下,

这时工程已经建好,右击工程选择Add Group,然后依次添加文件App,Libraries,Doc,BSP_CFG 配置好如图所示 四:给工程下APP添加App文件下的文件如图

给Libraries添加Library文件下src文件下的所有文件、 五配置Options,包括如下,1选择型号这里选STM8S903K3 2C++选项卡配置路经,和型号的宏定义。

六编译工程,这事会提醒对工程的保存,进行保存即可,这时会发现很多错误,这是因为这个库包含了所有的型号,有些这个单片机没有,将它移除即可。再次编译就会发现没有错误了。 7HEX文件输出

2、系统时钟 四种不同的时钟源可以用来驱动系统时钟: ●16 MHz 高速内部(HSI)工厂调整RC 时钟 ●1 到16 MHz 高速外(HSE)振荡器时钟 ●32.768 千赫低速外(LSE)振荡器时钟 ●38 千赫低速内部(LSI)低功耗时钟 每个时钟源可以开启或关闭独立不使用时的功耗,优化。 这四个时钟可以用一个可编程分频器(因素1 至128)驱动 系统时钟(系统时钟)。该系统时钟用于时钟的核心,内存和外设。复位后,该设备重新启动与HSI 时钟除以8 的违约。该分频器分频比时钟源可以改变应用程序尽快执行代码起点。

stm8L 数据手册

October 2010Doc ID 15275 Rev 111/81 STM8L101xx 8-bit ultralow power microcontroller with up to 8 Kbytes Flash, multifunction timers, comparators, USART , SPI, I2C Features ■ Main microcontroller features –Supply voltage range 1.65 V to 3.6 V –Low power consumption (Halt: 0.3μA, Active-halt: 0.8μA, Dynamic Run: 150μA/MHz) –STM8 Core with up to 16 CISC MIPS throughput –Temp. range: -40 to 85°C and 125 °C ■ Memories –Up to 8 Kbytes of Flash program including up to 2 Kbytes of data EEPROM –Error correction code (ECC) –Flexible write and read protection modes –In-application and in-circuit programming –Data EEPROM capability – 1.5 Kbytes of static RAM ■ Clock management –Internal 16 MHz RC with fast wakeup time (typ. 4μs) –Internal low consumption 38kHz RC driving both the IWDG and the AWU ■ Reset and supply management –Ultralow power, ultrasafe power-on-reset /power down reset –Three low power modes: Wait, Active-halt, Halt ■ Interrupt management –Nested interrupt controller with software priority control –Up to 29 external interrupt sources ■ I/Os –Up to 30 I/Os, all mappable on external interrupt vectors –I/Os with prog. input pull-ups, high sink/source capability and one LED driver infrared output ■ Peripherals –Two 16-bit general purpose timers (TIM2 and TIM3) with up and down counter and 2 channels (used as IC, OC, PWM) –One 8-bit timer (TIM4) with 7-bit prescaler –Infrared remote control (IR)–Independent watchdog –Auto-wakeup unit –Beeper timer with 1, 2 or 4 kHz frequencies –SPI synchronous serial interface –Fast I2C Multimaster/slave 400 kHz –USART with fractional baud rate generator – 2 comparators with 4 inputs each ■Development support –Hardware single wire interface module (SWIM) for fast on-chip programming and non intrusive debugging –In-circuit emulation (ICE)■ 96-bit unique ID Table 1. Device summary Reference Part number STM8L101xx STM8L101F1, STM8L101F2, STM8L101F3, STM8L101G2, STM8L101G3STM8L101K3 https://www.doczj.com/doc/e46738045.html,

相关主题
文本预览
相关文档 最新文档