爱玩科技网
您的当前位置:首页STM8L中文参考手册-1要点

STM8L中文参考手册-1要点

来源:爱玩科技网
简介

本参考手册的目标应用程序开发人员。它提供了完整的信息如何使用stm8l05xx,stm8l15xx和stm8l16xx微控制器的存储器和外围设备。

该stm8l05xx / stm8l15xx / stm8l16xx是一个家庭的不同存储密度的微控制器和外围设备。 这些产品是专为超低功耗应用。可用的外设的完整列表,请参阅产品数据表。 订购信息,引脚说明,机械和电气设备的特点,请参阅产品数据表。

关于STM8 SWIM通信协议信息和调试模块,请参阅用户手册(um0470)。 在STM8的核心信息,请参阅STM8的CPU编程手册(pm0044)。关于编程,擦除和保护的内部快闪记忆体,请参阅STM8L闪存编程手册(pm0054)。 表一、 类型 控制器 零件号 价值线低密度stm8l05xx设备:stm8l051x3 8KB Flash微控制器 价值线中密度stm8l05xx设备:stm8l052x6微控制器与32闪光 价值线高密度stm8l05xx设备:stm8l052x8 -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 随着-KB闪存微控制器(相同的外周设置为中等+) 高密度stm8l16xx设备:stm8l162x8微控制器与闪存(相同的外周设置为-KB高密度stm8l152设备加AES硬件加速器 目录 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

3.9.3 Flash程序存储器的解密密钥寄存器(flash_pukr)。58 3.9.4数据EEPROM解除保护关键寄存器(flash_dukr)。..。59 3.9.5闪光状态寄存器(flash_iapsr)。..。59 3.9.6 Flash寄存器图及复位值。60

4单线接口模块(游泳)和调试模块(DM)61 4.1引言61

4.2个主要特征。61。 4.3游泳模式。61。 5内存和寄存器图62

5.1寄存器描述缩写。62。 6功率控制(PWR)。63。 6.1电源63

6.2上电复位(POR)/掉电复位(PDR)。。 6.3掉电复位(BOR)65

6.4可编程电压检测器(PVD)。66。 6.5的内部参考电压(vrefint)67 6.6的电压调节器68 6.7压水堆寄存器69

6.7.1功率控制和状态寄存器1(pwr_csr1)。69 6.7.2压水堆控制和状态寄存器2(pwr_csr2)。..。70 6.7.3 PWR寄存器图及复位值。70 7低功耗模式。71。 7.1减速系统时钟72

文件编号15226启9 3 / 573 内容rm0031

7.2周门控时钟(PCG)72

7.3等待模式(WFI或WFE模式)。72。 7.4等待中断(WFI)模式。73。 7.5等待事件(WFE)模式73 7.5.1 WFE寄存器。74

7.5.2 WFE寄存器图及复位值。..。79 7.6低功率运行模式。80。

7.6.1进入低功率运行模式。..。80 7.6.2退出低功率运行模式。..。80 7.7低功率待机模式。80。 7.8停止模式。81。 7.8.1进入暂停模式。81 7.8.2退出暂停模式。..。81 7.9主动停止模式。82。 8复位(RST)。83。

8.1“复位状态”和“下复位”的定义。83。 8.2外部复位(NRST引脚)83 8.2.1异步外部复位的描述。..。83

8.2.2配置活动/ PA1引脚作为通用输出。84

8.3内部复位84

8.3.1上电复位(POR)。..。84 8.3.2看门狗复位。..。84 8.3.3窗口看门狗复位。..。84 8.3.4游泳复位。84

8.3.5非法操作码复位。84 8.4个寄存器。85。

8.4.1复位引脚配置寄存器(rst_cr)。..。85 8.4.2复位状态寄存器(rst_sr)。85 8.4.3 RST寄存器图及复位值。..。86 9控制的时钟(CLK)。87。 9.1引言87

9.2 HSE时钟。88。 9.3个HSI时钟90

4 / 573文档ID 15226转9 rm0031内容

9.4 LSE时钟。90。

9.5集成电路的时钟。91。 9.6系统的时钟源。91。 9.6.1系统启动。..。..91

9.6.2系统时钟切换程序。..。..92 9.7周门控时钟(PCG)95 9.8时钟安全系统(CSS)95

9.8.1时钟安全系统对HSE。..。..95

9.8.2时钟安全系统在伦敦经济学院。..。..96 9.8.3 CSS LSE控制和状态寄存器(csslse_csr)。..。..97 9.8.4 CSS LSE寄存器图及复位值。..98 9.9时钟和液晶时钟。98。 9.10声钟。98。

9.11可配置时钟输出能力(CCO)。98。

9.12个的系统时钟的时钟源TIM2 / TIM3。99。 9.13时钟中断99

9.14时钟寄存器。100。

9.14.1系统时钟分频寄存器(clk_ckdivr)。..。100 9.14.2时钟RTC寄存器(clk_crtcr)。..。100 9.14.3内部时钟寄存器(clk_ickcr)。..。102 9.14.4周围门控时钟寄存器1(clk_pckenr1)。..。103 9.14.5周围门控时钟寄存器2(clk_pckenr2)。..。104 9.14.6周围门控时钟寄存器3(clk_pckenr3)。..。105 9.14.7可配置时钟输出寄存器(clk_ccor)。106 9.14.8外部时钟寄存器(clk_eckcr)。107 9.14.9系统时钟状态寄存器(clk_scsr)。..。108 9.14.10系统时钟切换寄存器(clk_swr)。..。109 9.14.11开关控制寄存器(clk_swcr)。109

9.14.12时钟安全系统寄存器(clk_cssr)。..。..110 9.14.13时钟嘀寄存器(clk_cbeepr)。..。111 9.14.14 HSI校准寄存器(clk_hsicalr)。..111 9.14.15 HSI时钟校准微调寄存器(clk_hsitrimr)。..。..112 9.14.16 HSI解锁寄存器(clk_hsiunlckr)。..。..112 9.14.17主调节器控制状态寄存器(clk_regcsr)。..。..113 9.14.18时钟寄存器图及复位值。..。..114 10个通用I / O端口(GPIO)。115。 10.1引言115

10.2个GPIO的主要特点。115。 10.3端口的配置与使用。116。 10.3.1输入模式。..。117 10.3.2输出模式。118 10.4复位配置118

10.5未使用的I / O引脚。118。 10.6低功率模式118 10.7输入模式的细节118 10.7.1函数输入。118 10.7.2中断能力。119

10.8个输出模式的详细介绍。119。 10.8.1交替输出功能。119 10.8.2斜率控制。119

10.9个GPIO寄存器。120。

10.9.1端口X输出数据寄存器(px_odr)。120 10.9.2端口X引脚输入寄存器(px_idr)。120 10.9.3 X口数据方向寄存器(px_ddr)。121 10.9.4端口X控制寄存器1(px_cr1)。..。121 10.9.5端口X控制寄存器2(px_cr2)。..。122 10.9.6外围函数映射。122

10.9.7 GPIO寄存器图及复位值。..。122 11路由接口(RI)和系统配置 控制器(syscfg)。123。 11.1引言123

11.2日的主要特点。123。 11.2.1 RI功能描述。125 11.2.2的I / O组。125

11.2.3 TIM1输入捕捉路由。..。127 11.2.4 TIM2和TIM3路由。128 11.2.5比较器的路由。..129 11.2.6 DAC的路由。..。..129 11.2.7内部参考电压的路由。131 11.3日131个中断

6 / 573文档ID 15226转9 rm0031内容

11.4日寄存器。131。

11.4.1定时器输入捕捉路由寄存器1(ri_icr1)。..。131 11.4.2定时器输入捕捉路由寄存器2(ri_icr2)。..。132 11.4.3 I / O输入寄存器1(ri_ioir1)。..。132 11.4.4 I / O输入寄存器2(ri_ioir2)。..。132 11.4.5 I / O输入寄存器3(ri_ioir3)。..。133 11.4.6 I/O控制寄存器1(ri_iocmr1)。..。133 11.4.7 I/O控制寄存器2(ri_iocmr2)。..。133 11.4.8 I/O控制寄存器3(ri_iocmr3)。..。134 11.4.9 I/O寄存器开关1(ri_iosr1)。..。134 11.4.10 I/O寄存器开关2(ri_iosr2)。..。136 11.4.11 I/O寄存器开关3(ri_iosr3)。..。137 11.4.12 IO控制寄存器(ri_iogcr)。..。138 11.4.13模拟开关寄存器1(ri_ascr1)。140 11.4.14模拟开关寄存器2(ri_ascr2)。140 11.4.15电阻控制寄存器(ri_rcr)。141 11.4.16控制寄存器(ri_cr)。142 11.4.17 IO屏蔽寄存器1(ri_iomr1)。..。143 11.4.18 IO屏蔽寄存器2(ri_iomr2)。..。143 11.4.19 IO屏蔽寄存器3(ri_iomr3)。..。144 11.4.20 IO屏蔽寄存器4(ri_iomr4)。..。144 11.4.21 I / O输入寄存器4(ri_ioir4)。..。145 11.4.22 I/O控制寄存器4(ri_iocmr4)。..。145 11.4.23 I/O寄存器开关4(ri_iosr4)。..。146 11.4.24 RI寄存器图及复位值。..。147 11.5 syscfg寄存器。149。

11.5.1 syscfg映射控制寄存器1(syscfg_rmpcr1)。..。149 11.5.2 syscfg映射控制寄存器2(syscfg_rmpcr2)。..。150 软件syscfg映射控制寄存器3(syscfg_rmpcr3)。..。151 11.5.4 syscfg寄存器图及复位值。..。152

12中断控制器(ITC)。153。 12.1引言153

12.2中断屏蔽和处理流程。153。 12.2.1服务等待中断。154 12.2.2中断源。155

12.3个中断和低功耗模式156 文件编号15226启9 7 / 573 内容rm0031

12.4的激活水平/低功率模式控制。157。 12.5并行嵌套中断管理157

12.5.1并发中断管理模式。..。157 12.5.2嵌套中断管理模式。..。158 12.6个外部中断159

12.7中断指令。160。 12.8中断映射。160。

12.9国贸EXTI寄存器。161。

12.9.1 CPU条件码寄存器中断位(CCR)。161 12.9.2软件优先级寄存器X(itc_sprx)。..。162 12.9.3外部中断控制寄存器1(exti_cr1)。..。162 12.9.4外部中断控制寄存器2(exti_cr2)。..。1 12.9.5外部中断控制寄存器3(exti_cr3)。..。165 12.9.6外部中断控制寄存器4(exti_cr4)。..。166 12.9.7外部中断状态寄存器1(exti_sr1)。166 12.9.8外部中断状态寄存器2(exti_sr2)。167 12.9.9外部中断端口选择寄存器(exti_conf1)。..。168 12.9.10外部中断端口选择寄存器(exti_conf2)。..。169 12.9.11 ITC和完全寄存器图及复位值。..。170 13直接存储器存取控制器(DMA)。171。 13.1 DMA的介绍。171。 词汇。..。171

13.2 DMA的主要特点。172。 13.3的DMA功能描述173 13.3.1 DMA交易。173

13.3.2 DMA仲裁者。..。174 13.3.3 DMA通道。..。174

13.3.4蛋白Dma1请求映射。..。..181 13.3.5 DMA硬件要求描述。..。183 13.4 DMA低功率模式184 13.5 DMA中断。185。 13.6 DMA寄存器。185。

13.6.1 DMA全球配置和状态寄存器(dma_gcsr)。..185 13.6.2 DMA全局中断寄存器1(dma_gir1)。186 13.6.3 DMA通道配置寄存器(dma_cxcr)。..。..186 8 / 573文档ID 15226转9 rm0031内容

13.6.4 DMA通道状态和优先级寄存器(dma_cxspr)。..。..188 13.6.5 DMA数据传输寄存器(dma_cxndtr)。..。..1 13.6.6 DMA地址寄存器(外周高dma_cxparh)。..。1 13.6.7 DMA地址寄存器(dma_cxparl)低周。..190 13.6.8 DMA通道3周地址1地址的高高的记忆 寄存器(dma_c3parh_c3m1arh)。190

13.6.9 DMA通道3周地址低1低内存地址 寄存器(dma_c3parl_c3m1arl)。..。191

13.6.10 DMA存储器地址寄存器(dma_cxm0arh)高0。..。191 13.6.11 DMA存储器地址寄存器(dma_cxm0arl)低0。..。192 13.6.12 DMA通道3个内存0扩展地址寄存器 (dma_c3m0ear)。..。192

13.6.13 DMA寄存器图及复位值。..。193 14模拟到数字转换器(ADC)。195。 14.1引言195 ADC

14.2模数转换器的主要特点。195。 14.3 ADC功能描述。196。 14.3.1一般描述。196

14.3.2数模拟通道。..。197 14.3.3 ADC开关控制。..。197 14.3.4单转换模式。..。197 14.3.5连续转换模式。199 14.3.6 ADC时钟。199

14.3.7模拟看门狗。..。199 14.3.8中断。200

14.3.9信道选择(扫描模式)。..。200 14.3.10数据完整性。201 14.3.11 DMA传输。..。201 14.3.12配置分辨率。201 14.3.13数据对齐。..。201 14.3.14可编程采样时间。202 14.3.15施密特触发器禁用。203 14.3.16温度传感器。..。203 14.3.17内部参考电压转换。204 14.4 ADC低功耗模式。204。 14.5 ADC中断。204。 文件编号15226启9 9 / 573 内容rm0031

14.6 ADC寄存器。205。

14.6.1 ADC配置寄存器1(adc_cr1)。..。205 14.6.2 ADC配置寄存器2(adc_cr2)。..。206 14.6.3 ADC配置寄存器3(adc_cr3)。..。207 14.6.4 ADC状态寄存器(adc_sr)。..。208 14.6.5 ADC数据寄存器高(adc_drh)。..。209 14.6.6 ADC数据寄存器低(adc_drl)。..。209 14.6.7 ADC的高门槛高(adc_htrh)寄存器。210 14.6.8 ADC的高门槛低(adc_htrl)寄存器。210 14.6.9 ADC低阈值寄存器高(adc_ltrh)。210 14.6.10 ADC低阈值寄存器低(adc_ltrl)。211 14.6.11 ADC通道序列1寄存器(adc_sqr1)。211 14.6.12 ADC通道序列寄存器2(adc_sqr2)。212 14.6.13 ADC通道选择扫描3(adc_sqr3)。..。212 14.6.14 ADC通道选择扫描4(adc_sqr4)。..。213 14.6.15 ADC触发禁用1(adc_trigr1)。213 14.6.16 ADC触发禁用2(adc_trigr2)。214 14.6.17 ADC触发禁用3(adc_trigr3)。214

14.6.18 ADC触发禁用4(adc_trigr4)。214 14.6.19 ADC寄存器图及复位值。..。215 15个数字到模拟转换器(DAC)。216。 15.1引言216 DAC

15.2个DAC的主要特点。216。 15.3的DAC功能描述。218。 1. X使DAC通道。..。218

15.3.2 DAC输出缓冲区启用。..。218 15.3.3 DAC输出开关配置。218 15.3.4数据格式。219

15.3.5 DAC转换序列。..。219 15.3.6 DAC输出电压。219 15.3.7 DAC触发选择。..。219 15.3.8 DAC的DMA请求。..。220 15.3.9 DAC DMA下溢中断。..。220 15.3.10噪声的产生。..。220 15.3.11三角波的产生。..。221 15.3.12双DAC转换。..。222 10 / 573文档ID 15226转9 rm0031内容

15.4个DAC寄存器。226。

15.4.1 DAC通道控制寄存器1(dac_chxcr1)。..226 15.4.2 DAC通道控制寄存器2(dac_chxcr2)。..。..227 15.4.3 DAC软件触发寄存器(dac_swtrigr)。..。228 15.4.4 DAC状态寄存器(dac_sr)。..228

15.4.5 DAC通道X右对齐的数据保持寄存器高 (dac_rdhrh)。..。..229

15.4.6 DAC通道X右对齐的数据保持寄存器低 (dac_chxrdhrl)。..。..229

15.4.7 DAC通道X左对齐数据保持寄存器高 (dac_chxldhrh)。..。..229

15.4.8 DAC通道X左对齐数据保持寄存器低 (dac_chxldhrl)。..230 15.4.9 DAC通道×8位数据保持寄存器 (dac_chxdhr8)。230

15.4.10 DAC通道X双模式右对齐的数据保持寄存器高 (dac_dchxrdhrh)。231

15.4.11 DAC通道X双模式右对齐的数据保持寄存器低 (dac_dchxrdhrl)。..。231

15.4.12 DAC通道X双模式左对齐数据保持寄存器高 (dac_dchxldhrh)。..。232

15.4.13 DAC通道X左对齐数据保持寄存器低 (dac_dchxldhrl)。..。232

15.4.14 DAC通道的双模式的8位数据保持寄存器

(dac_dchxdhr8)。..。..233

15.4.15 DAC通道数据输出寄存器高 (dac_chxdorh)。..。233

15.4.16 DAC通道数据输出寄存器低 (dac_chxdorl)。..。233

15.4.17 DAC寄存器映射及复位值。..。..234

16个比较器(COMP)。237。 16.1公司简介。237。

16.2计算机的主要特点。239。 16.3比较器1(COMP1)。240。 16.4比较器2(comp2)。241。 16.5使用比较器在窗口模式242 16.6公司的低功耗模式。243。 16.7比赛中断243 16.8公司注册。244。

文件编号15226启9 11 / 573 内容rm0031

16.8.1比较器控制和状态寄存器1(comp_csr1)。..。244 16.8.2比较器控制和状态寄存器2(comp_csr2)。..。245 16.8.3比较器控制和状态寄存器3(comp_csr3)。..。246 16.8.4比较器控制和状态寄存器4(comp_csr4)。..。247 16.8.5比较器控制和状态寄存器5(comp_csr5)。..。247 16.8.6 COMP寄存器图及复位值。..。248 17液晶显示控制器。249。

17.1液晶显示控制器的介绍。249。 17.1.1定义。249

17.2液晶显示控制器的主要特点。250。 17.3液晶显示功能描述。252。 17.3.1一般描述。252

17.3.2频率发生器。..。253 17.3.3通用驱动程序。256 17.3.4段驱动器。2 17.3.5使一段。..。265 17.3.6眨眼。..。265

17.3.7复用COM [ 7:4 ]和[ 43:40赛格赛格],[ 39:36 ],或[ 31:28赛格]。265 17.3.8代LCD电压水平。266 17.3.9 LCD缓冲区更新。..。269

17.4液晶显示控制器的低功耗模式。269。 17.5液晶显示控制器中断269 17.6的LCD控制寄存器。270。 17.6.1控制寄存器1(lcd_cr1)。..。270 19.6.2控制寄存器2(lcd_cr2)。..。272 17.6.3控制寄存器3(lcd_cr3)。..。273

17.6.4频率选择寄存器(lcd_frq)。..。274 17.6.5端口掩码寄存器(lcd_pm)。274 17.6.6控制寄存器4(lcd_cr4)。..。275 17.6.7 LCD显示存储器(lcd_ram)。..。276 17.6.8 LCD寄存器图及复位值。..。278 18定时器的概述280

18.1定时器功能的比较281 18.2表281定时器信号名称 12 / 573文档ID 15226转9 rm0031内容

19 16位先进控制定时器(TIM1)。283。 19.1引言283

19.2 TIM1主要特点284 19.3 TIM1时间单位。286。

19.3.1阅读和写作的16位计数器。287

19.3.2写序列的16位tim1_arr寄存器。..。287 19.3.3分频器。287

19.3.4了计数模式。..。288 19.3.5向下计数模式。..。290

19.3.6中心对齐方式(向上/向下计数)。..。292 19.3.7重复计数器。294

19.4 TIM1时钟/触发控制器。296。 19.4.1分频时钟(ck_psc)。..。296 19.4.2内部时钟源(fsysclk)。..。297 19.4.3外部时钟源模式1。..。297 19.4.4外部时钟源模式2。..。299 19.4.5触发同步。300

19.4.6之间的同步定时器。304 19.5 TIM1捕获/比较通道。310。

19.5.1写序列的16位tim1_ccri寄存器。311 19.5.2输入阶段。..。312 19.5.3输入捕捉模式。313 19.5.4输出级。315

19.5.5强制输出模式。..。316 19.5.6输出比较模式。..。316 19.5.7 PWM模式。..。318 19.5.8利用中断功能。325

19.5.9清理ociref信号对外部事件。..。328 19.5.10编码器接口模式。..。329 19.5.11定时器输入异或函数。331 19.5.12与霍尔传感器。331 19.6 TIM1中断。333。

19.6.1 TIM1等事件的能力。333 19.7 TIM1 DMA。333。

19.7.1 DMA单模式。333

19.7.2 DMA突发模式。..。334 文件编号15226启9 13 / 573 内容rm0031

19.8 TIM1寄存器335

19.8.1控制寄存器1(tim1_cr1)335 19.8.2控制寄存器2(tim1_cr2)337 19.8.3从模式控制寄存器(tim1_smcr)。338。 19.8.4外部触发寄存器(tim1_etr)。339。 19.8.5 DMA请求使能寄存器(tim1_der)341 19.8.6中断使能寄存器(tim1_ier)。342。 19.8.7状态寄存器1(tim1_sr1)343 19.8.8状态寄存器2(tim1_sr2)344 19.8.9事件生成寄存器(tim1_egr)。345。 19.8.10捕获/比较寄存器模式1(tim1_ccmr1)。346。 19.8.11捕获/比较寄存器模式2(tim1_ccmr2)。349。 19.8.12捕获/比较寄存器模式3(tim1_ccmr3)。350。 19.8.13捕获/比较寄存器模式4(tim1_ccmr4)。351。 19.8.14捕获/比较使能寄存器1(tim1_ccer1)352 19.8.15捕获/比较使能寄存器2(tim1_ccer2)355 19.8.16计数器(tim1_cntrh)355 19.8.17计数器的低(tim1_cntrl)356 19.8.18分频器高(tim1_pscrh)。356。 19.8.19分频器的低(tim1_pscrl)。356。 19.8.20自动重载寄存器高(tim1_arrh)357 19.8.21自动重载寄存器低(tim1_arrl)357 19.8.22重复计数器寄存器(tim1_rcr)。357。 19.8.23捕获/比较寄存器1高(tim1_ccr1h)。358。 19.8.24捕获

20个16位通用定时器(TIM2,TIM3,tim5)368 20.1引言368

20.2 TIMx主要特点。368。 20.3 TIMx功能描述369 20.3.1时间单位。..。369

20.3.2时钟/触发控制器。..。370 20.3.3捕获/比较通道。..。371 20.3.4定时器输入异或函数。373 20.4 TIMx中断。373。 20.5 TIMx寄存器。374。

20.5.1控制寄存器1(timx_cr1)。374。 20.5.2控制寄存器2(timx_cr2)。375。 20.5.3从模式控制寄存器(timx_smcr)。376。 20.5.4外部触发寄存器(timx_etr)。377。 20.5.5 DMA请求使能寄存器(timx_der)378

20.5.6中断使能寄存器(timx_ier)。379。 20.5.7状态寄存器1(timx_sr1)380 20.5.8状态寄存器2(timx_sr2)381 20.5.9事件生成寄存器(timx_egr)。382。 20.5.10捕获/比较寄存器模式1(timx_ccmr1)。383。 20.5.11捕获/比较寄存器模式2(timx_ccmr2)。385。 20.5.12捕获/比较使能寄存器1(timx_ccer1)386 20.5.13计数器(timx_cntrh)387 20.5.14计数器的低(timx_cntrl)388 20.5.15分频寄存器(timx_pscr)。388。 20.5.16自动重载寄存器高(timx_arrh)388 20.5.17自动重载寄存器低(timx_arrl)3 20.5.18捕获/比较寄存器1高(timx_ccr1h)。3。 20.5.19捕获/比较寄存器1低(timx_ccr1l)。390。 20.5.20捕获/比较寄存器2高(timx_ccr2h)。390。 20.5.21捕获/比较寄存器2低(timx_ccr2l)。390。 20.5.22中断寄存器(timx_bkr)。391。 20.5.23输出空闲状态寄存器(timx_oisr)。393。 20.5.24 TIMx寄存器图及复位值。393。 文件编号15226启9 15 / 573 内容rm0031

21个8位基本定时器(时间)。395。 21.1引言395

TIM4主要特点395 21.2 21.3 tim4interrupts 395

21.4时间时钟选择。396。 21.5时间寄存器396

21.5.1控制寄存器1(tim4_cr1)。396 21.5.2控制寄存器2(tim4_cr2)。397 21.5.3从模式控制寄存器(tim4_smcr)。..。397 21.5.4 DMA请求使能寄存器(tim4_der)。399 21.5.5中断使能寄存器(tim4_ier)。..。399 21.5.6状态寄存器1(tim4_sr)。399 21.5.7事件生成寄存器(tim4_egr)。..。400 21.5.8计数器(tim4_cntr)。400 21.5.9分频寄存器(tim4_pscr)。..。401 21.5.10自动重载寄存器(tim4_arr)。401 21.5.11 Tim4寄存器图及复位值。402 22红外(irtim)接口403 22.1引言403

22.2个主要特征。403。 22.3 irtim寄存器。404。 22.3.1控制寄存器(ir_cr)。404

22.3.2 irtim寄存器图及复位值。..。404

23蜂鸣器(声)。405。 23.1引言405

23.2声功能描述。406。 23.2.1寻呼操作。..。406 23.2.2寻呼机的校准。406

23.2.3 LSI时钟频率测量。..。406 23.3声寄存器。407。

23.3.1哔控制/状态寄存器1(beep_csr1)。407 23.3.2哔控制/状态寄存器2(beep_csr2)。407 23.3.3哔寄存器图及复位值。..。408 16 / 573文档ID 15226转9 rm0031内容

24实时时钟(RTC)。409。 24.1引言409

24.2 RTC的主要特点。410。 24.3 RTC功能描述。410。 24.3.1时钟预分频器。..。411 24.3.2实时时钟和日历。..。413 24.3.3可编程报警。..。414 24.3.4周期自动唤醒。414

24.3.5 RTC初始化和配置。..。..415 24.3.6看完日历。..。416 24.3.7重置RTC。..。417

24.3.8时钟同步(低,中,高密度+设备)。417 24.3.9 RTC光滑的数字校准(低,中,高 密度的设备)。..。418

24.3.10篡改检测(低,中,高密度+设备)。420 24.3.11校准时钟输出。420 24.3.12报警输出。421

24.4时钟低功耗模式。421。 24.5时钟中断421

24.6 RTC寄存器。422。

24.6.1时间寄存器1(rtc_tr1)。..。422 24.6.2时间寄存器2(rtc_tr2)。..。422 24.6.3时间寄存器3(rtc_tr3)。..。422 24.6.4数据寄存器1(rtc_dr1)。..。423 24.6.5数据寄存器2(rtc_dr2)。..。423 24.6.6数据寄存器3(rtc_dr3)。..。424 24.6.7亚秒寄存器高(rtc_ssrh)。..。424 24.6.8亚秒寄存器低(rtc_ssrl)。..。425 24.6.9控制寄存器1(rtc_cr1)。..。425 24.6.10控制寄存器2(rtc_cr2)。..。426 24.6.11控制寄存器3(rtc_cr3)。..。427 24.6.12初始化和状态寄存器1(rtc_isr1)。428

24.6.13初始化和状态寄存器2(rtc_isr2)。429 24.6.14同步分频器寄存器高(rtc_sprerh)。..。430 24.6.15同步分频器寄存器低(rtc_sprerl)。..。431 24.6.16异步分频器寄存器(rtc_aprer)。431 文件编号15226启9 17 / 573 内容rm0031

24.6.17唤醒定时器寄存器高(rtc_wutrh)。432 24.6.18唤醒定时器寄存器低(rtc_wutrl)。..432 24.6.19写保护寄存器(rtc_wpr)。..。433 24.6.20 RTC换档控制寄存器高(rtc_shiftrh)。..。433 24.6.21 RTC换档控制寄存器低(rtc_shiftrl)。..。434 24.6.22报警寄存器1(rtc_alrmar1)。434 24.6.23报警寄存器2(rtc_alrmar2)。435 24.6.24报警寄存器3(rtc_alrmar3)。435 24.6.25报警寄存器4(rtc_alrmar4)。436 24.6.26报警子第二寄存器高(rtc_alrmassrh)。..。436 24.6.27报警子第二寄存器低(rtc_alrmassrl)。..。437 24.6.28报警的一秒的屏蔽寄存器(rtc_alrmassmskr)。..。437 24.6.29校准寄存器高(rtc_calrh)。438 24.6.30校准寄存器低(rtc_calrl)。439 24.6.31篡改控制寄存器1(rtc_tcr1)。..。439 24.6.32篡改控制寄存器2(rtc_tcr2)。..。440 24.6.33 RTC寄存器映射和复位值。..。441 25个的看门狗(IWDG)。444。 25.1引言444

25.2看门狗功能描述。444。 25.3 IWDG寄存器。446。 25.3.1关键寄存器(iwdg_kr)。..。446 25.3.2分频寄存器(iwdg_pr)。446 25.3.3重装寄存器(iwdg_rlr)。447

25.3.4 IWDG寄存器图及复位值。..。447 26窗口看门狗(wwdg)。448。 26.1引言448

26.2 wwdg主要特点448 26.3 wwdg功能描述448

26.4如何编程的看门狗超时。450。 26.5 wwdg,低功耗模式。450。 26.6硬件看门狗的选择。451。 26.7 wwdg中断。451。 26.8 wwdg寄存器451

18 / 573文档ID 15226转9 rm0031内容

26.8.1控制寄存器(wwdg_cr)。..。451 26.8.2窗口寄存器(wwdg_wr)。..。452

26.9窗口看门狗复位值寄存器图452 27 AES硬件加速器(AES)。453。 27.1引言453

27.2 AES的主要特点。453。 27.3 AES的功能描述。454。 27.4种操作模式。455。 27.4.1模式1:加密。455 27.4.2模式2:密钥推导。456 27.4.3模式3:解密。456

27.4.4模式4:导出密钥和解密。457 27.5 AES DMA接口458 27.6错误标志。459。 27.7、处理时间为459

27.8 AES低功耗模式。460。 27.9 AES中断460

27.10 AES寄存器。461。

27.10.1 AES控制寄存器(aes_cr)。..。461 27.10.2 AES状态寄存器(aes_sr)。462 27.10.3 AES数据输入寄存器(aes_dinr)。463 27.10.4 AES数据输出寄存器(aes_doutr)。463 27.10.5 AES寄存器图及复位值。..。4 28内部集成电路(I2C)接口465 28.1引言465

28.2的I2C总线的主要特点。466。 28.3的I2C总线的一般描述。467。 28.4的I2C功能描述。469。 28.4.1 I2C奴隶模式。..469 28.4.2 I2C主模式。..。471 28.4.3错误条件。..478

28.4.4 SDA和SCL线控制。..。479 28.4.5 SMBus。..。479

文件编号15226启9 19 / 573 内容rm0031

28.4.6 DMA请求。..。482 28.4.7分组错误检查。483

28.5的I2C总线的低功耗模式。484。 28.6的I2C中断484

28.7的I2C寄存器。486。 28.7.1控制寄存器1(i2c_cr1)。..。486 28.7.2控制寄存器2(i2c_cr2)。..。487 28.7.3频率寄存器(i2c_freqr)。..。4

28.7.4自己的地址寄存器的LSB(i2c_oar1l)。490 28.7.5自己的地址寄存器的MSB(i2c_oar1h)。..。490 28.7.6自己的地址寄存器2(i2c_oar2)。..。490

28.7.7数据寄存器(i2c_dr)。..491 28.7.8状态寄存器1(i2c_sr1)。..。..491 28.7.9状态寄存器2(i2c_sr2)。..。..493 28.7.10状态寄存器3(i2c_sr3)。..。..494 28.7.11中断和DMA寄存器(i2c_itr)。..。496 28.7.12时钟控制寄存器低(i2c_ccrl)。..497 28.7.13时钟控制寄存器高(i2c_ccrh)。498 28.7.14试寄存器(i2c_triser)。..。499 28.7.15 PEC寄存器(i2c_pecr)。..。500 28.7.16 I2C寄存器图及复位值。..。500 29通用同步/异步接收器 (USART)。502。 29.1是介绍。502。 29.2是主要特点。502。 29.3串口功能描述503

29.3.1 USART特征描述。506 29.3.2发射机。..。507 29.3.3接收机。..。..510

29.3.4高精度波特率发生器。..。..513 29.3.5 USART接收时钟偏差的公差。..516 29.3.6奇偶控制。516

29.3.7多处理器通信。..。..518 29.3.8 USART同步通信。519 29.3.9单线半双工通信。..522 29.3.10智能卡。522

20 / 573文档ID 15226转9 rm0031内容

29.3.11 IrDA SIR的ENDEC块。..。524 29.3.12连续通信使用DMA。..。526 29.4是低功耗模式529 29.5串口中断。529。 29.6串口寄存器530

29.6.1状态寄存器(usart_sr)。..。530 29.6.2数据寄存器(usart_dr)。..。532 29.6.3波特率寄存器1(usart_brr1)。532 29.6.4波特率寄存器2(usart_brr2)。532 29.6.5控制寄存器1(usart_cr1)。..。533 29.6.6控制寄存器2(usart_cr2)。..。534 29.6.7控制寄存器3(usart_cr3)。..。535 29.6.8控制寄存器4(usart_cr4)。..。536 29.6.9控制寄存器5(usart_cr5)。..。536 29.6.10保护时间寄存器(usart_gtr)。..。537 29.6.11分频寄存器(usart_pscr)。..。538 29.6.12 USART寄存器图及复位值。538

30串行外设接口(SPI)。540。 30.1引言540

30.2 SPI的主要特点。540。 30.3的SPI功能描述。541。 30.3.1一般描述。541

30.3.2配置SPI从属模式。..。545 30.3.3配置SPI主模式。..。545 30.3.4配置SPI单工通信。546 30.3.5数据发送和接收程序。546 30.3.6 CRC计算。..。553 30.3.7状态标志。554 30.3.8禁用SPI。..。555

30.3.9 SPI通信使用的DMA(直接存储器寻址)。557 30.3.10错误标志。558

30.3.11 SPI低功耗模式。559 30.3.12 SPI中断。..。560 30.4 SPI寄存器。560。

30.4.1 SPI控制寄存器1(spi_cr1)。..。560 文件编号15226启9 21 / 573 内容rm0031

30.4.2 SPI控制寄存器2(spi_cr2)。..。561 30.4.3 SPI中断控制寄存器(spi_icr)。..。..562 30.4.4状态暂存器(spi_sr)。..。563 30.4.5 SPI数据寄存器(spi_dr)。..。..5 30.4.6 SPI多项式的CRC寄存器(spi_crcpr)。..。5 30.4.7 SPI RX CRC寄存器(spi_rxcrcr)。..。5 30.4.8 SPI TX CRC寄存器(spi_txcrcr)。565 30.5 SPI寄存器映射及复位值。565。

列表

表1适用的产品。..。1 表2中断的水平。..。33

表3 CPU的寄存器映射。..。34 表4 cfg_gcr寄存器映射。..。..35 表5块大小。..。52

表6内存访问和编程方法。..(低密度的设备)53 表7。记忆体存取与编程方法(中密度的装置)。..。54 表8内存访问和编程方法。 (中+高密度器件)。..。55 表9闪光寄存器映射。..。60 表10列出的缩写。..。62

表11。内部参考电压状态时停止/主动停止模式。67 表12压水堆的中断请求。..。68

表13压水堆寄存器图及复位值。..。70 表14总结了低功率模式。..。71 表15 WFE寄存器映射。..。79 表16个寄存器图及复位值。..。86 表17。CSS LSE在低功率模式。..。97 表18。CSS LSE寄存器图。..。98 表19时钟中断请求。..。99

表20。外周时钟门控位(pcken 10 pcken 17)。103。 表21。外周时钟门控位((pcken 20 pcken 27)。104。 表22。外周时钟门控位(pcken 30 pcken 35)。105。 表23。时钟寄存器图及复位值。114。 表24 I / O端口配置的总结。117。

表25。对GPIO端口的低功耗模式的影响。118。 表26 GPIO寄存器映射。122。 表27 I / O组和选择。126。

表28 TIM1输入捕捉路由。128。 表29 RI的中断请求。131。

表30路由接口寄存器的地图。147。 表31寄存器映射。152。 表32软件的优先级别。154。

表33。向量地址地图与软件优先位。159。 表34外部中断的敏感性。160。 表35专用的中断的指令集。160。 表36。ITC和完全寄存器图。170。 表37的源地址和目的地址。180。 表38蛋白Dma1信道请求映射。181。 表39依据/ usartx DMA请求。183。 表40 I2C1 DMA请求。184。 表41 TIMx DMA请求。184。

表42在低功率模式的DMA行为。184。

表43的DMA中断请求。185。 表44 DMA寄存器映射。193。 表45旗/中断配置。200。 表46采样周期的授权。202。 表47在低功率模式的行为。204。 文件编号15226启9 23 / 573 表rm0031列表

表48中断请求。..。204 表49寄存器映射。..。215

表50 DAC输出的开关配置。..。218

表51。DAC输出开关配置(介质和介质+高密度 设备)。..。218

表52。转换触发源(介质,介质+高密度的设备)。..。..220 表53转换触发源。..。220

表54。DAC寄存器地图(中,培养基+高密度的设备)。..。..234 表55窗口中断/唤醒模式。..。..243

表56。在低功率模式比较器的行为。..。..243 表57中断请求比较器。..。..243

表58。比较器和路由接口寄存器图。..。248

表59。16.384千赫的输入频率,典型的帧速率的计算。..。255 表60。500千赫的输入频率,典型的帧速率的计算。..。..256 表61赛格和COM信号映射。..。..266 表62在低功率模式的液晶行为。..。..269 表63显示的中断请求。..。..270 表显示寄存器映射。..。278 表65定时器的特性。..。280 表66定时器的功能比较。..。281 表67内部定时信号的词汇。..。281

表68。indices'i”的解释,“n”,和“X”。282 表69计数方向与编码器的信号。..。..329 表70。补充OCI和打破OCIN通道输出控制 feature353

表71 TIM1寄存器映射。..。366 表72 TIMx内部触发连接。..。376

表73。具有断特征OCI频道输出控制点(断裂特征 实施,互补输出未实现)。..。392 表74 TIMx寄存器映射。..。393 表75时间寄存器映射。..。402 表76红外寄存器映射。..。..404 表77。嘟寄存器图。..。..408

表78。对RTC的低功率模式的影响。..。421 表79中断控制位。..。421

表80。RTC寄存器映射和复位值。..。441

表81。最小/最大看门狗超时(LSI的时钟频率= 38千赫)。..。445

表82 IWDG寄存器映射。..。..447

表83窗口看门狗定时的例子。..。..450

表84。在wwdg,低功率模式的影响。..。..450 表85。wwdg寄存器图及复位值。..。..452 表86。处理时间(时钟周期)。..。459 表86。处理时间(时钟周期)。..。459 表87。低功率模式对AES的影响。..。460 表88 AES的中断请求。..。..460

表。AES寄存器图及复位值。..。4 SMBus或I2C表90。..。..480

表91。在低功率模式I2C接口的行为。..。484 表92的I2C中断请求。..。484

表93。i2c_ccr值频率表(SCL fsysclk = 10 MHz或16 MHz)。..。499 表94的I2C寄存器映射。..。500

表95。从采样数据中的噪声检测。..。512 表96波特率的设计和误差计算。..。..514 表97。波特率的设计和误差计算。..。..515 表98。波特率的设计和误差计算。..。..515

表99。USART接收的公差时usart_div [3:0] 0。..。516

表100。USART接收的公差时usart_div [3:0]不同于0。..。516 表101。帧格式。..。..516

表102。在低功率模式USART接口的行为。..。529 表103。USART中断请求。..。529 表104。USART寄存器图。..。538

表105。在低功率模式的SPI的行为。..。..559 表106。SPI中断请求。..。560

表107。SPI寄存器映射和复位值。..。..565 表108。文件修订历史。..。..566

图列表

图1编程模型。..。..31 图2堆叠顺序。..。32

图3。低密度stm8l05xx / 15xx Flash的程序和数据存储器。..。..39 图4。中密度stm8l05xx / 15xx Flash的程序和数据存储器 组织。..。40

图5。介质的密度stm8l05x / 15x 16x + / Flash程序和数据存储器组织。41 图6。高密度stm8l05xx / 15xx / 16xx Flash程序和数据存储器组织。..42 图7。低密度stm8l05xx / 15xx设备UBC面积大小的定义。..。44 图8。中密度stm8l05xx / 15xx设备UBC面积大小的定义。..。45 图9。中型+ stm8l05xx / 15xx设备UBC面积大小的定义。..。45

图10。高密度stm8l05xx / 15xx / 16xx设备UBC面积大小的定义。..。46 图11游泳引脚连接。..。61 图12电源的概述。..。63

图13。上电复位/掉电复位波形。..。65 图14 VDD的电压检测:博尔阈值。..。66 图15 PVD阈值。..。67 图16。复位电路。..。83 图17时钟结构。..。87 图18 HSE时钟源。..。

图19。时钟切换流程图(自动模式的例子)。..。93 图20。时钟切换流程图(手动模式的例子不中断)。..。94 图21。时钟切换流程图(手动模式的例子,中断)。..。94 图22 GPIO框图。116。

图23。路由接口(RI)框图(介质,介质+高密度的设备)。124。 图24。路由接口(RI)框图(低密度的装置)。125。 图25 TIM2 TIM3互连。129。 图26 DAC的互连。130。

图27的内部参考电压输出。131。 图28中断处理流程图154。 图29优先决策过程的155。 图30。并发中断管理。158。 图31嵌套中断管理。159。 图32 DMA框图。173。

图33字节存储顺序在16位模式。175。 图34。正规渠道(中密度的装置)。177。 图35。正规渠道(中+高密度器件)。177。

图36。用MEM = 0存储器通道(中密度的装置)。178。 图37。用MEM = 0存储器通道(中+高密度器件)。178。 图38。用MEM = 1存储器通道(中密度的装置)。179。 图39。用MEM = 1存储器通道(中+高密度器件)。179。 图40。蛋白Dma1请求映射(中密度的装置)。182。 图41。蛋白Dma1请求映射(中+高密度器件)182 图42 ADC的框图。196。

图43 ADC外部触发。199。 图44序列的例子。201。

图45分辨率和数据对齐。202。

图46块图。DAC通道(中等密度的装置)。217。 图47块图。DAC通道(中+高密度器件)。217。 26 / 573文档ID 15226转9 rm0031人物列表

图48 DAC LFSR寄存器计算算法。..。221 图49 DAC的三角波生成。..。..222 图50块图。比较器。..。..238 图51果品互连。..。240 图52 comp2互连。..。241

图53 comp2输出重定向。..。..242

图54。在窗口模式配置比较器。..。..242

图55。培养基+高密度的LCD控制器框图。252 图56中密度的LCD控制器的框图。253 图57。1 / 3偏置,1 / 4的责任。..。257 图58静态的职责。..。259

图59。液晶显示和终端连接(静态职责)。..。260

图60。液晶显示和终端连接(1 / 2的责任,1 / 2偏压)。..。..261 图61。液晶显示和终端连接(1 / 3的责任,1 / 3偏压)。..。..262 图62。液晶显示和终端连接(1 / 4的责任,1 / 3偏压)。..。..263 图63。液晶显示和终端连接(1 / 8的责任,1 / 4偏压)。..。..2 图电阻网络。..。267 图65的对比度控制。..。268 图66软中断信号。..。270 图67 TIM1总框图。285 图68时基单元。..。..286

图69。16位读计数器序列(tim1_cntr)。..。287 图70计数器在计数模式。..。288

图71。当计数器更新ARPE = 0(ARR没有预分频器= 2)。..。..2 图72。计数器更新事件时,ARPE = 1(tim1_arr预装)。..。2 图73。反在向下计数模式。..。290

图74。当计数器更新ARPE = 0(ARR没有预分频器= 2)。..。..291 图75。当计数器更新ARPE = 1(ARR预装)= 1,分频器。..。291 图76在中心对齐模式计数器。..。292

图77。计数器的时序图,fck_cnt = fck_psc,tim1_arr = 06h,ARPE = 1。..。293 图78的例子。更新率取决于模式和tim1_rcr寄存器设置。..。..295 图79时钟/触发控制器框图。..296

图80。在正常模式控制电路,fck_psc = fsysclk。..。..297 图81 TI2外部时钟连接的例子。..。..297 图82。控制电路在外部时钟模式1。..。298 图83块图。外部触发输入。..。299

图84。控制电路在外部时钟模式2。..。299

图85。在触发模式控制电路。..。300

图86中的触发器复位模式控制电路。..。301 图87在触发控制电路门控模式。..。302

图88。在外部时钟模式2 +触发方式控制电路。..。303 图定时器链接系统的实现实例。..。304 图90触发/主模式选择块。..。..305 图91主/从定时器的例子。..。305

图92。浇注定时器B与定时器oc1ref。..。306 图93定时器与计数器。选B使定时信号(cnt_en)。..。307 图94。随着UEV定时器触发定时器B(timera-uev)。..。308 图95。触发定时器B计数器使定时器cnt_en。..。309 图96。触发定时器A和B定时器TI1输入。..。310 图97。1频道的主要电路捕获/比较。..。310

图98。16位读在捕捉模式tim1_ccri寄存器序列。..。311 图99通道输入级的框图。..。312

图100。提姆1通道1输入阶段。312。 图101 PWM输入信号的测量。314。 图102 PWM输入信号测量的例子。315。 图103通道输出级的框图。315。

图104。与互补输出信道进行详细的输出级(1频道)。316。 图105。输出比较模式,切换OC1。317。

图106。边缘对齐计数模式PWM模式1种波形(ARR = 8)。319。 图107。中心对齐的PWM波形(ARR = 8)。320。 图108个脉冲模式的例子。321。

图109。与死区时间插入的互补输出。323。 图110。一个延迟大于负脉冲时间波形。323。 图111。一个延迟大于正脉冲时间波形。323。 图112。六步代,COM组件的例子(OSSR = 1)。325。 图113。响应中断输出行为(无互补输出通道)。327。 图114。在响应中断输出行为(TIM1互补输出)。327。 图115 ocrefclr激活。328。

图116。在编码器接口模式计数器操作实例。330。

图117的例子。用IC1的极性倒置编码器接口模式。330。 图118。霍尔传感器接口的例子。332。 图119 DMA突发模式的例子。334。 图120 TIMx框图。369。 图121时基单元。370。 图122块图输入阶段。371。

图123。提姆2通道1输入阶段。371。 图124输出阶段。372。

图125。1频道的输出级。372。 图126块图的时间。395。

图127。内部硬件连接的TIM2 TIM3。403。 图128块图。哔哔声。405。

图129块图。RTC(低密度的装置)。412。 图130块图。RTC(中等密度的装置)。412。 图131块图。RTC(中+高密度器件)。413。 图132。的看门狗(IWDG)图444 图133块图的看门狗。449。

图134。窗口看门狗定时图。450。 图135块图。454。

图136。模式1:加密。455。 图137。模式2:密钥推导。456。 图138。模式3:解密。457。

图139。模式4:导出密钥和解密。457。

图140。DMA请求和数据传输在输入阶段(aes_in)。458。 图141。DMA请求在输出相位(aes_out)。459。 图142 I2C总线协议。..。467 图143 I2C框图。..468

图144从发射机传输序列图。..。470 图145从接收机传输序列图。..。..471 图146主发射机传输序列图。..。..473

图147。方法1:主接收机传输序列图。..。..474

图148。方法2:转移序列图主接收器当n>2。..。..475 图149。方法2:转移序列图的主接收器当n = 2。..。..477 图150。方法2:转移序列图的主接收器当n = 1。..。..477 图151。stm8l05xx / 15xx / 16xx I2C中断映射图。..。485 图152。stm8l05xx / 15xx / 16xx USART框图。..。..505 图153字长度的编程。..。..506 图154配置的停止位。..。508

图155 TC / TXE的行为时,发送。..。509 图156起始位的检测。..。510

图157数据采样噪声检测。..。..512

图158。如何在BRR寄存器代码usart_div。514 图159。静音模式使用空闲线检测。..。518 图160。静音模式使用地址标记检测。..。..519 图161是同步传输的例子。..。..520

图162。串行口数据时钟时序图(M = 0)。..。521 图163。串行口数据时钟时序图(M = 1)。..。521 图1接收数据的建立/保持时间。..。521 图165 ISO 7816-3异步协议。..。522

图166。使用1.5个停止位奇偶校验错误检测。..。..524 图167。IrDA SIR的ENDEC框图。..。526

图168。IrDA数据调制(3 / 16)正常模式。..。526 图169使用DMA传输。..。527 图170接收使用DMA。..。528 图171串口中断映射图。..。530 图172 SPI框图。..。541

图173。单一的主/单从应用。..。..542 图174数据时钟的时序图。..。..544

图175。在全双工模式下TXE / rxne /忙行为(rxonly = 0)。 连续传输的情况下。..。549

图176。TXE / rxne /忙行为的奴隶/全双工模式 (BDM = 0,rxonly = 0)。连续传输的情况下。..。549 图177。TXE /忙在主只传输模式 (BDM = 0和rxonly = 0)。连续传输的情况下。..。550 图178。TXE /忙奴隶只传输模式(BDM = 0和rxonly = 0)。 连续传输的情况下。..。551

图179。rxne行为在接收模式(BDM = 0和rxonly = 1)。 连续传输的情况下。..。552

图180。TXE /忙的行为时,发送(BDM = 0和rxlony = 0)。 非连续传输的情况下。..。553 图181使用DMA传输。..。557 图182接收使用DMA。..。558

1处理单元(CPU)

本节适用于低密度stm8l05xx / stm8l15xx设备,介质密度

stm8l05xx / stm8l15xx设备,介质+密度stm8l05xx / stm8l15xx设备 高密度stm8l05xx / stm8l15xx / stm8l16xx设备,除非另有规定。 1.1引言

CPU有一个8位的结构。六内部寄存器允许高效的数据操纵。CPU可以执行80条基本指令。它具有20的寻址方式,可以解决六个内部寄存器。对指令集的完整描述,指STM8系列单片机的编程手册(pm0044)。 1.2 CPU的寄存器

六CPU寄存器是在图1所示的编程模型。继

中断,寄存器的值推到堆栈上在图2所示的顺序。他们突然从以相反的顺序栈。中断程序必须处理它,如果需要的话,通过pop和push指令。 1.2.1描述CPU寄存器 蓄电池(一)

蓄能器是一个8位通用寄存器用来存放操作数的算术和逻辑运算的结果以及数据操作。 索引寄存器(X和Y)

这些都是16位寄存器,用来创建有效的地址。他们也可能被用来作为一个 和数据操作的临时存储区有一些固有的使用 指令(乘法/除法)。在大多数情况下,交叉汇编程序生成 伪指令(预)指出下列指令指的是Y寄存器。 程序计数器(PC)

程序计数器是一个24位寄存器,用来存放下一条指令的地址是由CPU执行。它是自动刷新指令后,各处理的。作为一个结果,STM8核心可以访问最多16个字节的内存。

堆栈指针(SP)

堆栈指针是一个16位寄存器。它包含的下一个空闲位置的地址 栈。根据产品,最重要的位可以设置预设值。

堆栈是用来保存CPU上下文在子程序调用或中断。用户也可以直接使用它通过pop和push指令。

堆栈指针可以通过安装C编译器启动函数初始化。用C语言写的应用程序的初始化,然后根据执行

地址C用户在连接指定的文件。如果你使用你自己的链接的文件或启动文件,确保正确的初始化堆栈指针(在数据表上提供的地址)。用汇编写的应用程序,您可以使用启动功能由ST或写下你自己的正确地址初始化堆栈指针。 堆栈指针减后的数据已被压进堆栈

增加后的数据从堆栈中弹出。它是由应用程序,以确保较低的不超过。

一个子程序调用占据两个或三个位置。一个中断占九的位置来存储所有的内部寄存器(除SP)。更多细节参见图2。

注:WFI和HALT指令节省下前进。如果一个中断发生时,CPU 在其中的一个模式,降低了延迟。

条件码寄存器(CC)

条件码寄存器是一个8位寄存器说明只是执行以及处理器的状态的指令的结果。第六位(MSB)这个寄存器 保留。这些碎片可以单独测试的程序和规定采取行动,由于他们的状态。以下描述了每一位: ●V:溢出

当设置,V表示,去年签署的算术操作期间发生溢出,在MSB结果位。看到公司,INCW,12月,decw,NEG,negw,添加,addw,ADC,子,地铁,SBC,CP,和CPW指令。

●I1:中断屏蔽1级

I1标志作品与I0旗一起定义当前可中断性水平如表2所示。这些标记可以设置和清除的软件通过轮辋,SIM卡,停止,WFI,WFE,中断返回,陷阱,和流行的指示和自动设置的硬件时,进入中断服务程序。

●H:半进位

H位设置为1时,进行时3位和4的ALU之间添加或ADC指令时。H位BCD算术子程序是有用的。

●I0中断屏蔽0级 看到国旗I1。 ●N:负

当设置为1,这一点表明,最后的运算结果,逻辑或数据操作是负的(即最重要的位为逻辑1)。 ●Z:零

当设置为1,这一点表明,最后的运算结果,逻辑或数据操作是零。 ●C:携带

当设置,C表示一个携带或借出去的ALU在过去发生的 在高位运行结果的位运算。这一点也在测试的影响,

分支,移位,旋转和负荷指令。看到添加,ADC,子,和SBC指令。 在除法运算中,C表示如果在执行过程中发生故障(商溢出或零部)。看到DIV指令。 在钻头试验操作,C的测试点的副本。看到BTJF和btjt指令。

在移位和旋转操作,进行更新。看到RRC,RLC,SRL,SLL,和SRA指令。 这一点可以设置,复位或辅以软件使用的SCF,RCF,与CCF的指令。

1.2.2 STM8 CPU寄存器图

CPU的寄存器映射在STM8地址空间如表3。这些

寄存器只能通过调试模块,但不是由存储器访问指令执行的核心访问

1.3全局配置寄存器(cfg_gcr) 1.3.1激活水平

单片机的激活水平是由编程的Al点在cfg_gcr寄存器配置。 在这一点的使用参见12.4节信息激活水平/低功率模式 在157页的控制。

1.3.2SWIM(单线接口模块)禁用

默认情况下,一个单片机复位后,游泳引脚配置为允许通信与外部的调试工具或闪光/ EEPROM编程。该引脚可以使用的应用程序作为一个通用I / O。这是通过设置在cfg_gcr注册署点进行配置。

1.3.3描述全局配置寄存器(cfg_gcr) 偏移地址:0x00 重置价值:0x00

位7:2保留 点1:激活水平

该位设置和清除软件。它的配置主要或只中断激活。 0:主要激活水平。一个中断返回指令引起的上下文是从堆栈和主程序检索继续WFI指令后。 1:只中断激活水平。一个中断返回指令使CPU回到WFI /停止不恢复上下文模式。 0位游泳社署:禁用 0:游泳模式启用 1:游泳模式禁用

当游泳模式被启用,游泳引脚不能作为通用I/O。 1.3.4全局配置寄存器图及复位值

是的cfg_gcr STM8的地址空间映射。的基地址参阅相应的数据表。

2启动ROM

本节适用于低密度stm8l05xx / stm8l15xx设备,介质密度

stm8l05xx / stm8l15xx设备,介质+密度stm8l05xx / stm8l15xx设备 高密度stm8l05xx / stm8l15xx / stm8l16xx设备,除非另有规定。

内部2字节的引导ROM包含bootloader代码。它的主要任务是把应用程序下载到内部的Flash / EEPROM通过USART1,USART2,usart3(在异步模式下,串行外设接口),SPI1或SPI2界面和程序代码,数据,选择字节和中断向量在内部Flash EEPROM。在可用的通讯端口,详情请参阅产品说明书。

执行bootlloading林模式,不同的通信协议,对Bootloader UART2 / uart3和UART1实现。 引导装载程序开始执行复位后。指STM8引导用户手册(um0560)详情。 3程序存储器和数据存储器

本节适用于低密度stm8l05xx / stm8l15xx设备,介质密度

stm8l05xx / stm8l15xx设备,介质+密度stm8l05xx / stm8l15xx设备 高密度stm8l05xx / stm8l15xx / stm8l16xx设备,除非另有规定。 3.1引言

嵌入式Flash程序存储器和数据的EEPROM存储器是由一套共同控制寄存器。使用这些寄存器,可编程或擦除的应用

记忆内容和设置写保护。也可以应用程序的装置 选项字节。 3.2术语 ●块

一块是一组字节可编程或在一个单一的编程操作删除。这是块级进行操作的速度比标准 编程和擦除。在块尺寸,详见表5。 ●页

一个网页是一组块。

选择专用字节可用于配置,通过增量的一页,用户代码和专有的代码的大小(可用时)。 3.3个主要的快闪存储器的特点

●低密度stm8l05xx / 15xx EEPROM是分成三个内存阵列(参见 3.4部分:对内存映射的细节记忆的组织): 多达8字节的嵌入式Flash程序 256字节的数据存储器

–多达选择字节(一块)

Flash的程序和数据的EEPROM寄存器区由一套共同控制,允许存储器内容进行编程或擦除,写保护被激活。

没有读写网是支持这些设备。

●介质和介质+密度stm8l05xx / 15xx EEPROM分为三 存储器阵列(见3.4节:在内存映射的细节记忆的组织): 多达32字节的嵌入式闪存程序到1字节的数据存储器 - 128选择字节(一块)

Flash的程序和数据的EEPROM寄存器区由一套共同控制,允许存储器内容进行编程或擦除,写保护被激活。

●高密度stm8l05xx / 15xx / 16xx EEPROM是分成三个内存阵列 (见3.4节:在内存映射的细节记忆的组织): 字节的嵌入式Flash程序 –多达2字节数据存储器 - 128选择字节(一块)

Flash的程序和数据的EEPROM寄存器区由一套共同控制,允许存储器内容进行编程或擦除,写保护被激活。 ●编程模式

字节编程和自动快速字节编程(没有擦除操作)字编程

块编程和快速编程模式(没有擦除操作)-中断程序结束或擦除操作和非法程序生成 操作。

●读而写能力(读写网)

●在应用编程(IAP)和在电路编程(ICP)的能力 ●保护功能

存储器读出保护(ROP)

程序存储器的存储器访问安全系统的写保护(质量 键)

数据存储器的存储器访问安全系统的写保护(质量键)-可编程写保护用户代码区(UBC)。 -专有代码可用时自动读出保护区

●记忆状态配置为运行或电源关闭模式(IDDQ)在等待模式(低 功率等)和运行方式(低功率运行) 3.4记忆的组织

3.4.1低密度设备的存储器组织

低密度stm8l05xx / 15xx EEPROM是分成三个内存阵列:

●多达8字节的Flash程序存储器分为128页,每个字节。的 内存阵列是由32位字(每字4个字节)。它包括两个方面: -用户启动代码区(UBC) 的主要程序区

第一块(128字节)的Flash程序存储器(从8000开始地址0 x00)包含中断向量。 ●256字节的数据EEPROM组织在4页的个字节。

●一块选择字节(字节)坐落在一个单独的存储器阵列。 看下面的图描述的存储器组织。

3.4.2介质密度的装置记忆的组织

中密度stm8l05xx / 15xx EEPROM是分成三个内存阵列:

●多达32字节的Flash程序存储器分为256页,每个128字节。 内存阵列是由32位字(每字4个字节)。它包括两个 地区:

-用户启动代码区(UBC)的主要程序区

第一块(128字节)的Flash程序存储器(从8000开始地址0 x00)包含中断向量。 ●多达1个字节的数据存储器组织8页的128个字节。

●一块选择字节(128字节)坐落在一个单独的存储器阵列。 看下面的图描述的存储器组织。

3.4.3介质+密度装置记忆的组织

培养基+密度stm8l05xx / 15xx EEPROM是分成三个内存阵列: ●32字节的Flash程序存储器分为128页,每个256字节。的 内存阵列是由32位字(每字4个字节)。它包括三个方面: -用户启动代码区(UBC)

-专有代码区(PCODE)的主要程序区

第一块(128字节)的Flash程序存储器(从8000开始地址0 x00)包含中断向量。 ●多达1个字节的数据存储器组织4页的256个字节。

●一块选择字节(128字节)坐落在一个单独的存储器阵列。 图6描述的存储器组织。

3.4.4高密度存储器组织

高密度stm8l05xx / 15xx / 16xx EEPROM是分成三个内存阵列: ●字节的Flash程序存储器分为256页,每个256字节。的 内存阵列是由32位字(每字4个字节)。它包括三个方面: -用户启动代码区(UBC)

-专有代码区(PCODE)的主要程序区

第一块(128字节)的Flash程序存储器(从8000开始地址0 x00)包含中断向量。 ●达2字节的EEPROM中数据组织的8页的256个字节。 ●一块选择字节(128字节)坐落在一个单独的存储器阵列。 图6描述的存储器组织。

3.4.5专有代码区(译)

专有的代码区(PCODE)可以用来保护专有软件库 用于驱动设备。只有在低,中,高密度器件。 的适合区域的大小可以通过pcode选项字节配置 (pcodesize)在ICP模式(使用游接口)。此选项字节指定

数页(256字节粒度)分配给适合面积从8000地址0x00。一旦编程,Pcode选项字节不能被删除,并对适合面积的大小是固定的。

的适合面积最小的有意义的大小是1页(256字节),128个字节是用来存放中断向量。 而pcode启用陷阱中断向量是写保护。

在培养基+密度器件的面积,适合的最大尺寸是128页从8000到FFFF地址0 x00 0x00。在高密度的设备,适合区域的最大尺寸是255页从地址0x00 0x01 7eff 8000。 Pcode面积自动读出保护除了陷阱中断向量

(见第3.5.1:读出保护,表6:内存访问与编程 方法(低密度的装置),表7:内存访问与编程方法 (中密度的设备)和表8:内存访问与编程方法 (中+高密度器件))。读出保护不能在这个被禁用 面积。这意味着Pcode区的内容不能读取或修改。 Pcode地区只能通过陷阱向量访问。 3.4.6用户区(UBC)

用户引导区(UBC)包含复位和中断向量。它可以用来 商店的IAP和通信例程。UBC区具有保护的第二级 为了防止意外擦除或修改在IAP编程。这意味着它 总是写保护,写保护,无法利用大众的钥匙开启。 UBC的面积大小可以通过阅读UBC选项字节得到。

UBC的面积的大小,可以配置在ICP模式(使用游接口)

通过UBC选项字节。UBC选项字节指定分配的页数为UBC面积从8000地址0x00。

在中密度stm8l05xx / 15xx设备,UBC的面积最小的有意义的大小是2页,其中1是用来存放中断向量。

在低,中,高密度器件,UBC的面积最小的有意义的大小是1页,其中128字节用于存储中断向量。

注意:当一个适合地区已被定义,UBC的最小尺寸应

pcodesize + 1。可用存储启动代码UBC的部分地区位于Pcode区端和所定义的UBC区端之间。

在高密度stm8l05xx / 15xx / 16xx装置,对引导区的最大大小为255 从8000页地址0 x00 0x01 7eff(包括中断向量)。

在培养基+密度stm8l05xx / 15xx装置,对引导区的最大大小为128 从8000页地址0 x00 0x00 FFFF(包括中断向量)。

在中密度stm8l05xx / 15xx装置,对引导区的最大大小为255 从8000页地址0 x00 0x00 ff7f(包括中断向量)。

参考图7,图8,图9和图10的不列颠哥伦比亚大学的区域描述 内存映射和在数据表选项字节段在UBC选项字节的更多细节。

3.4.7数据的EEPROM(数据)

数据EEPROM面积可用于存储应用程序数据。默认情况下,数据区是写保护来防止意外修改时,主程序是在IAP模式更新。写保护只能使用特定的质量关键解锁 序列(参阅启用写入访问的数据区)。

数据区的大小是低密度stm8l15xx装置256字节,1字节在 媒介和媒介+密度stm8l15xx器件和高密度2字节

stm8l15xx / 16xx设备。从地址0x00 1000(见图4,图5和 图6)。

数据区域的大小为256字节stm8l05xx价值线装置。 3.4.8主程序区

主程序的区域,开始在UBC或pcode结束(当 可用),在地址0x00 9fff对低密度stm8l05xx / 15xx两端的设备,

0x00 FFFF中介质+密度stm8l05xx / 15xx 0x01 7fff设备和高密度stm8l05xx / 15xx / 16xx设备。它是用来存储程序代码(见图4,图5和图6)。 3.4.9选项字节

选项字节用于配置设备的硬件功能和内存保护。 他们都位于一个专用存储器阵列的一块。选项字节可以修改ICP /游泳和IAP模式,除了ROP和UBC和pcodesize(可用时)。

在选择字节的更多信息是指在数据表选项字节段,和STM8游泳协议和调试模块用户手册(um0470)有关细节,它们如何编程。 3.5内存保护 3.5.1读出保护

读出的保护是通过编程删除0xAA ROP选项字节。什么时候 读出启用保护,阅读或修改Flash程序存储器和数据 在ICP模式区(使用游接口)是被禁止的,不管写保护 设置。

即使没有保护可以被视为完全牢不可破,读出功能提供了很高的水平保护一个通用微控制

器。

读出保护可以在程序存储器,禁用UBC,pcode(可用时)和数据区,通过ICP的ROP选项字节编程模式。在这种情况下,闪存程序存储器,数据区域,选择自动擦除和字节可编程。 默认情况下,该地区一直是适合读出保护除中断向量的陷阱(见第3.4.5:专有的代码区(PCODE))。

参考表7:内存访问与编程方法(中密度的设备)的细节时,读出存储器访问保护启用或禁用。

3.5.2内存访问安全系统(质量)

复位后,主程序和数据的区域,防止无意的写操作。他们必须解锁之前试图修改其内容。这个解锁机构由存储器访问安全系统管理(质量)。

在UBC选项字节指定UBC区域总是写保护(见第3.4.6:用户区(UBC))。 曾经的记忆已被修改,建议启用写保护又保护存储内容的反。 启用写入访问主程序存储器 设备复位后,可以禁用主程序存储器写连续两个值称为质量的关键flash_pukr寄存器写保护(见第3.9.3:Flash程序存储器解密密钥寄存器(flash_pukr))。这些编程键,然后比较两个硬件键值:

●第一硬件的关键:0b0101 0110(0x56) ●二硬件关键:0b1010 1110(0xae)

下面的步骤是必需的禁用写主程序保护区:

1。写一个第8位输入flash_pukr寄存器。当这个寄存器写

复位后的第一时间,数据总线的内容不锁存到寄存器,但相比于第一硬件键值(0x56)。 2。如果该键可在数据总线上是不正确的,这是flash_pukr寄存器 锁定,直到下一个复位。任何新的写命令发送到这个地址是 丢弃的。

3。如果第一个硬件的关键是正确的当flash_pukr寄存器写的

第二次,数据总线的内容还不锁存到寄存器,但相对于第二硬件键值(0xae)。 4。如果该键可在数据总线上是不正确的,写保护程序

记忆保持锁定状态,直到下一个复位。任何新的写命令发送到这个地址被丢弃。 5。如果第二硬件的关键是正确的,主要是未受保护的程序存储器的写 并对flash_iapsr普勒位设置(见第3.9.5:闪光状态寄存器(flash_iapsr))登记。

在开始编程,应用程序必须确认普勒位有效集。应用程序可以选择,在任何时候,禁用再次通过清除脉冲点写访问Flash程序存储器。 使写入数据区 设备复位后,可以禁用数据区的连续两个值称为大众写作的关键flash_dukr寄存器写保护(见 部分3.9.6:闪光寄存器映射和复位值)。这些编程键,然后比较两个硬件键值: ●第一硬件的关键:0b1010 1110(0xae) ●二硬件关键:0b0101 0110(0x56) 需要下列步骤禁用写数据区域的保护:

1。写一个第8位输入flash_dukr寄存器。当这个寄存器写

复位后的第一时间,数据总线的内容不锁存到寄存器,但相比于第一硬件键值(0xae)。 2。如果该键可在数据总线上是不正确的,应用程序可以输入两个质量 尝试取消数据区键。

3。如果第一个硬件的关键是正确的,flash_dukr寄存器编程与

第二个关键。数据总线的内容还不锁存到寄存器,但相对于第二硬件键值(0x56)。

4。如果关键的可用数据总线上的数据是不正确的,是写EEPROM区 直到下一个复位保护。任何新的写命令发送到这个地址被忽略。 5。如果第二硬件的关键是正确的,数据区是写不安全和DUL

位的flash_iapsr寄存器设置(见第3.9.5:闪光状态寄存器(flash_iapsr))。 在开始编程,应用程序必须确认数据区域不写 通过检查,有效地保护DUL点集。应用程序可以选择,在任何时候,禁用再次通过清除DUL点写入数据区。

3.5.3使写访问选项字节

写访问选项字节区域可以通过设置选择点闪光控制寄存器2启用(flash_cr2)。 3.6存储器编程

主程序存储器,和数据区必须解锁之前 执行任何程序操作。解锁机制取决于内存区被编程为在3.5.2节描述:内存访问安全系统(质量)。

注:Pcode区域总是读出保护。唯一的办法是重新改编

ROP选项字节,因此擦除Flash程序存储器,数据区,并选择字节。 3.6.1同时读写(读写网)

RWW特征可以对数据进行读写操作,EEPROM

和执行程序存储器。因此,优化的执行时间。相反的

操作是不允许的:数据存储器时不能被写入程序存储器读。 该读写征是始终启用的,随时可以用。 注:RWW特征对低密度的设备不可用。参考表 附加信息。 3.6.2字节编程

主程序存储器和数据区域可以在字节级程序。程序一个字节,应用直接写入目标地址。 ●在主程序存储器:

对字节的程序运行时间的应用程序停止。●在数据区: -停止执行程序在“高电压”操作,即当

该hvoff标志设置,和字节进行编程操作使用 同时读写(读写网)在IAP模式的能力。

删除一个字节0x00,简单地写在相应的地址。

应用程序可以读取flash_iapsr注册验证,编程或擦除操作已被正确地执行: ●EOP标志设置一个成功的编程操作之后

●wr_pg_dis设置当软件试图写一个受保护的页面。在这 的情况下,写不执行程序。

当其中一个标志被设置,一瞬间中断如果先前已设置的flash_cr1寄存器IE点使产生。 自动快速字节编程

编程时间可以根据目标地址的初始含量变化。如果字(4字节)包含字节进行编程不是空的,整个世界被自动删除该程序运行之前。相反,如果这个词是空的,没有执行擦除操作和编程时间短(见tprog表

“Flash程序存储器在数据表)。

然而,在编程的时候可以通过设置的flash_cr1固定点固定

注册程序的操作系统力擦除字节无论其内容(见第3.9.1:闪光控制寄存器1(flash_cr1))。编程时间

因此,固定的和相等的擦除和写入时间总和(见表“Flash程序存储器在数据表tprog)。

注:写一个字节的快速(没有删除),整个字(4字节)为其书写必须

删除以前的。因此,它是不可能做的两种快速写入同一个词(不擦除前二写):第一次写会快但二写的其他字节需要擦除。 3.6.3字编程

一个字写操作可以在一个镜头一个4字节编程的话,从而最大限度地减少编程时间。

对于字节编程,word操作都可以为主要的程序存储器和数据存储器。读而写(读写网)的能力也可以当一个词

编程操作在数据EEPROM进行。参考表 附加信息。

●在主程序存储器:

对字节的程序运行时间的应用程序停止。●在数据区: 程序执行不停止,和字节进行编程操作

使用同时读写(读写网)在IAP模式的能力。

程序一词,在flash_cr2寄存器WPRG位必须预先设定 使字编程模式(见第3.9.2:闪光控制寄存器2 (flash_cr2))。然后,4个字节的字进行编程,必须加载启动 与第一个地址。编程周期开始时自动4字节,有 被写。

对于字节操作,EOP和flash_iapsr的wr_pg_dis控制标志,结合Flash中断,可以用来确定是否已正确完成操作。 3.6.4块编程

块程序操作比字或字节编程操作要快得多。在一块的程序操作,一块是整个程序或在一个单一的编程周期擦除。请参考表5的块的大小根据设备。

块可以执行的操作都在主程序存储器和数据区:●在主程序存储器: 块程序操作主程序存储器必须完全从RAM中执行。 ●在数据区

数据块的操作可以从主程序存储器执行。不过, 数据加载阶段(见下文)已被处决的RAM。 有三种可能的块操作:

●块编程,也被称为标准块编程:块 自动擦除之前被编程。

●快速块编程:不执行任何先前抹除操作。●块擦除 在块编程,硬件中断屏蔽。 标准块编程

标准块程序操作允许整个块被写在一个镜头。块擦除之前自动编程。 程序一块在标准模式下,在flash_cr2 PRG点必须登记 预先设置为启用标准块编程(见第3.9.2:闪光控制 寄存器2(flash_cr2))。然后,数据被编程的块必须加载 依次向目的地地址在主程序存储器或数据区域。这

使所有数据的字节被锁定。开始编程整个街区,所有字节 数据必须写。用编程序列中的所有字节必须在同一

块。这意味着,它们必须有相同的高地址:只有六个最重要的 的地址位可以改变。当目标块的最后一个字节加载的, 程序自动启动。它是由一个自动擦除操作的

整个街区。

EOP和wr_pg_dis控制标志的flash_iapsr一起闪光中断可以用来确定是否已正确完成操作。 快速编程

快速编程可编程不先擦除存储器内容。快速编程是两倍的标准编程一样快。 该模式仅用于已擦除编程部分。这是非常

可编程的空白部分的完整的应用程序代码,为节省时间是重要的。 快速编程是通过使用相同的序列作为标准块进行

编程。为了使快速块编程模式,在flash_cr2注册财务计划与报表生成点必须预先设定。 EOP的flash_iapsr寄存器wr_pg_dis比特可以检查以确定是否快速块编程操作已完成。 注意:在块中编程的数据并不能保证当块不是空白之前 快速块程序操作。 块擦除

一块擦除允许整个块被删除。

擦除整个块,擦除位在flash_cr2寄存器必须预先设置为使块擦除(见第3.9.2:闪光控制寄存器2(flash_cr2))。块然后被写作“0x00 00 00 00”块内的任何字。单词开始 地址必须以“0”,“4”,“8”,或“C”。

EOP和wr_pg_dis控制标志的flash_iapsr一起闪光中断可以用来确定是否已正确完成操作。

3.6.5选项字节编程

选项字节编程的数据字节的EEPROM编程非常相似。

应用直接写入到目标地址。程序不停止写操作使用能力进行读写网。 期权的字节内容详见数据表。 Flash 3.7的低功耗模式

所有stm8l05xx / 15xx / 16xx Flash程序存储器和数据存储器有一个低

消费模式,IDDQ。在静态电流模式,记忆是关闭的。它是用于任何设备的低功耗模式:主动停止,停止,低功耗等,和低功率运行。

当eepm位设置在flash_cr1寄存器,Flash程序存储器和数据

EEPROM的IDDQ模式时自动进入执行代码从RAM或当设备处于待机模式。 请参阅第3.9.1:闪光控制寄存器1(flash_cr1)有关waitm和eepm位。

当闪存程序存储器和数据存储器退出IDDQ模式,恢复时间小于2.8µ和取决于电源电压和温度。

3.8例ICP和IAP

在电路编程(ICP)方法用于更新内存中的全部内容,用游泳的用户界面的应用程序负载到微控制器。ICP提供快速、高效的设计迭代和消除不必要的包装处理设备或镶嵌。游泳接口(单线接口模块)使用游泳引脚连接到编程工具。 在对比的方法,在应用编程(IAP)可以使用任何通信接口的微控制器支持(I / O,I2C,SPI,串行口……)下载的数据将在内存的程序。IAP允许Flash程序存储器的内容被重新执行应

用程序期间。然而,应用程序的一部分必须是以前的编程使用ICP的Flash程序存储器。 参阅STM8L闪存编程手册(pm0054)和STM8游泳协议和调试手册(um0470)在规划程序的更多信息。

1。R / W / E =读,写,和执行

的R / E =读取和执行(写操作被禁止的) (R =读写和执行操作的禁止)

P =该地区无法访问(读和写操作,执行禁止)P / wrop =写保护,禁止除ROP选项字节。 2。当没有UBC地区已被定义,中断向量,除了陷阱,可以修改用户/ IAP模式。

3。如果一个适合地区已被定义,陷阱向量不能在用户和IAP模式修改,否则陷阱如下 其他的中断向量相同的规则。

4。Flash程序存储器的写保护(锁定)直到正确的质量关键是写在flash_pukr。它是

可以锁定的记忆再次被重置的flash_iapsr寄存器等位。解锁只能做一次两个复位。如果提供了不正确的键,设备必须重置和新钥匙编程。

5。数据存储器的写保护(锁定)直到正确的质量关键是写在flash_dukr。这是可能的 锁的记忆再次被重置的flash_iapsr DUL位寄存器。如果提供了不正确的键,另一个关键 程序序列可以不重置设备进行。

6的面积。PCODE可以读取和执行只有在模式通过陷阱向量。Pcode不能 直接通过游泳访问。

7。选项字节写保护(锁定)直到正确的质量关键是写在flash_dukr(与选择设置为

1。可以锁定记忆再次被重置的flash_iapsr DUL位寄存器。如果提供了不正确的键,另一个关键的程序序列可以不重置设备进行。

8。当ROP被删除,整个存储器被清除,包括选择字节。

1。R / W / E =读,写,和执行

的R / E =读取和执行(写操作被禁止的) (R =读写和执行操作的禁止)

P =该地区无法访问(读和写操作,执行禁止)P / wrop =写保护,禁止除ROP选项字节。 2。当没有UBC地区已被定义,中断向量,除了陷阱,可以修改用户/ IAP模式。 3。Flash程序存储器写保护(锁定)直到正确的质量关键是写在flash_pukr。它是 可以锁定的记忆再次被重置的flash_iapsr寄存器等位。解锁只能做一次 两个复位。如果提供了不正确的键,设备必须重置和新钥匙编程。

4。数据存储器的写保护(锁定)直到正确的质量关键是写在flash_dukr。这是可能的 锁的记忆再次被重置的flash_iapsr DUL位寄存器。如果提供了不正确的键,另一个关键 程序序列可以不重置设备进行。

5。哥伦比亚地区的应用程序必须首先明确UBC选项字节。

6。选项字节写保护(锁定)直到正确的质量关键是写在flash_dukr(与选择设置为

1。可以锁定记忆再次被重置的flash_iapsr DUL位寄存器。如果提供了不正确的键,另一个关键的程序序列可以不重置设备进行。

7。当ROP被删除,整个存储器被清除,包括选择字节。

1。R / W / E =读,写,和执行

的R / E =读取和执行(写操作被禁止的) (R =读写和执行操作的禁止)

P =该地区无法访问(读和写操作,执行禁止)P / wrop =写保护,禁止除ROP选项字节。 2。当没有UBC地区已被定义,中断向量,除了陷阱,可以修改用户/ IAP模式。

3。如果一个适合地区已被定义,陷阱向量不能在用户和IAP模式修改,否则陷阱如下 其他的中断向量相同的规则。

4。Flash程序存储器的写保护(锁定)直到正确的质量关键是写在flash_pukr。它是

可以锁定的记忆再次被重置的flash_iapsr寄存器等位。解锁只能做一次两个复位。如果提供了不正确的键,设备必须重置和新钥匙编程。

5。数据存储器的写保护(锁定)直到正确的质量关键是写在flash_dukr。这是可能的 锁的记忆再次被重置的flash_iapsr DUL位寄存器。如果提供了不正确的键,另一个关键

程序序列可以不重置设备进行。

6的面积。PCODE可以读取和执行只有在模式通过陷阱向量。Pcode不能 直接通过游泳访问。

7。不列颠哥伦比亚地区的应用程序必须首先明确UBC选项字节。

8。选择字节写保护(锁定)直到正确的质量关键是写在flash_dukr(与选择设置为 1。可以锁定记忆再次被重置的flash_iapsr DUL位寄存器。如果不正确的钥匙 提供,另一个关键的计划的顺序可以不重置设备进行。 9。当ROP被删除,整个存储器被清除,包括选择字节。 3.9闪光寄存器

3.9.1闪光控制寄存器1(flash_cr1) 偏移地址:0x00 重置价值:0x00

7位:保留

3位eepm:Flash的程序和数据的EEPROM的IDDQ模式选择在运行,低功率运行 低功率待机模式

0:eepm被硬件清除后,闪光的程序或数据EEPROM存储器 访问。通过软件清除该位不退出的记忆从IDDQ模式。

1:当执行代码从RAM,EEPROM的Flash程序和数据输入的IDDQ模式如果eepm设置。 Flash的程序和数据的EEPROM保持IDDQ模式到下一个程序或数据EEPROM存储器访问。 参考7.6节:低功率运行模式80页。

2位waitm:Flash的程序和数据的EEPROM的IDDQ模式在等待模式 该位设置和清除软件。

0:Flash的程序和数据的IDDQ模式不EEPROM当装置处于等待模式 1:Flash的程序和数据的EEPROM IDDQ模式当设备处于待机模式。 1位即:Flash中断使能

该位设置和清除软件。0:禁止中断

1:中断使能。中断如果在flash_iapsr寄存器EOP或wr_pg_dis标志设置生成。 0位固定:固定的字节编程时间 该位设置和清除软件。

0:标准的编程时间(1 / 2 tprog)如果记忆已经删除,否则tprog。 1:规划时间固定在tprog。

3.9.2闪光控制寄存器2(flash_cr2) 偏移地址:0x01 重置价值:0x00

7位字节写选择:选择 该位设置和清除软件。 0:写访问选项字节残疾

1:写访问选项字节启用 6位WPRG:字编程

这一点是由软件设置和清除的硬件操作完成时。0:Word程序运行的残疾 1:Word程序操作启用 5位(1):擦除块擦除

这一点是由软件设置和清除的硬件操作完成时。 0:块擦除操作禁用 1:块擦除操作启用

4位财务计划与报表生成(1):快速块编程

这一点是由软件设置和清除的硬件操作完成时。 0:快速程序操作禁用 1:快速程序操作启用 位3:1保留

0位PRG:标准块编程

这一点是由软件设置和清除的硬件操作完成时。 0:标准块编程操作禁用

1:操作标准块编程功能(自动擦除)

1。擦除和财务计划与报表生成位被锁定的内存是忙时。 3.9.3 Flash程序存储器的解密密钥寄存器(flash_pukr) 偏移地址:0x02 重置价值:0x00

位7:0 PUK [7:0]:主程序存储器解锁钥匙 这个字节写的软件(所有模式)。它返回0x00阅读时。 是指能写47页上的描述于主程序的内存访问 主写程序区解除保护机制。

3.9.4数据EEPROM保护关键寄存器(flash_dukr) 偏移地址:0x03 重置价值:0x00

位7:0 DUK [7:0]:数据的EEPROM写解锁钥匙 这个字节写的软件(所有模式)。它返回0x00阅读时。 指允许写访问的数据区48页主要描述 写程序区解除保护机制。

3.9.5闪光状态寄存器(flash_iapsr) 地址偏移寄存器 重置价值:0x40

7位保留。

6位hvoff:高电压端 该位设置和清除的硬件。 0:高压,实际编程开始 1:高压下,端电压高

3位DUL:数据EEPROM区打开国旗

这一点是通过硬件和软件的编程,它通过0。0:数据的EEPROM写保护功能区 1:数据的EEPROM写保护区已被禁用写下正确的质量 键

2位EOP:端编程(写入或擦除操作)旗

这一点是由硬件。它是通过软件通过读取寄存器,或当一个新的写/擦除操作开始。 0:没有EOP事件发生

1:一个EOP操作发生。中断如果IE的位被设置在flash_cr1寄存器产生。 1位普勒:Flash程序存储器解锁旗

这一点是通过硬件和软件的编程,它通过0。0:写保护功能的主程序区 1:写主程序保护区已被禁用写下正确的质量 键。

0位wr_pg_dis:写试图保护的页面标记

这一点是由硬件和软件通过读取寄存器清除。0:没有wr_pg_dis事件发生

1:写一写保护的页面出现的尝试。中断如果IE的位被设置在flash_cr1寄存器产生。 3.9.6 Flash寄存器图及复位值

在Flash寄存器边界地址的详细信息,参见通用硬件寄存器 图中的数据表。

4单线接口模块(SWIM)和调试 模块(DM)

本节适用于低密度stm8l05xx / stm8l15xx设备,介质密度

stm8l05xx / stm8l15xx设备,介质+密度stm8l05xx / stm8l15xx设备 高密度stm8l05xx / stm8l15xx / stm8l16xx设备,除非另有规定。 4.1引言

在电路调试模式或在电路编程模式是通过一个单一的线的硬件接口具有超快存储器编程管理。再加上一个在电路调试模块,它还提供了一种非侵入性的仿真模式,使电路 调试极其强大的,接近的性能的一个全功能的仿真器。 4.2个主要特征

●基于异步,高汇(8毫安),漏极开路,双向通信。●允许读取或写入内存空间的任何部分。 ●获得CPU寄存器(A,X,Y,CC,SP)。他们是内存映射为读或写 访问。

●非侵入性的读/写上飞到内存和外设寄存器。

游泳引脚可以作为一个标准的I / O的一些,如果你还想用它来调试。最安全的方式是提供PCB上的一个带选项。

4.3游泳模式

上电复位后,游泳是复位并进入关闭模式。

1。关:上电复位后的默认状态。游泳引脚不能使用的 应用作为一个I / O。

2。I / O:这种状态是由软件编写在全局配置社会福利署点进入 寄存器(cfg_gcr)。在这种状态下,游泳引脚可以作为一个标准的I / O引脚的应用。在复位的情况下,游回到关闭模式。

3。游泳:进入此状态时,一个特定的顺序是在游泳销进行。 在这种状态下,游泳引脚由主机工具用3 STM8控制

命令(SRST系统复位,黑阅读上的飞行,在飞行中写WOTF)。 注:指STM8 SWIM通信协议和调试模块用户手册 游的描述和调试模块(DM)寄存器。 5内存和寄存器图

本节适用于低密度stm8l05xx / stm8l15xx设备,介质密度

stm8l05xx / stm8l15xx设备,介质+密度stm8l05xx / stm8l15xx设备 高密度stm8l05xx / stm8l15xx / stm8l16xx设备,除非另有规定。

在记忆细节图,I / O端口硬件寄存器的地图和CPU /游泳/调试模块、中断控制寄存器,请参阅产品说明书。 5.1 寄存器描述缩写

在每一章的寄存器描述本参考手册,使用了下列缩写:

6功率控制(PWR)

本节适用于低密度stm8l05xx / stm8l15xx设备,介质密度

stm8l05xx / stm8l15xx设备,介质+密度stm8l05xx / stm8l15xx设备 高密度stm8l05xx / stm8l15xx / stm8l16xx设备,除非另有规定。 6.1电源

该设备需要一个1.65 V至3.6 V工作电压的电源(VDD)(1.8 V至3.6 V stm8l05xx价值线装置)。一个内部稳压器是用来对数字核心,电源电压的SRAM,FLASH存储器和数据存储器。

注意:在上面的图中,DAC在低密度或stm8l05x价值线设备不可用。 外部电源引脚:

外部电源引脚必须连接如下:

●VSS;VDD = 1.8 V 3.6,下降到1.65 V(1)在电源关闭:外部电源 I / O和内部稳压器。通过提供外部VDD的引脚,该 相应地引脚VSS。

●VSSA;VDDA = 1.8至3.6 V,下降到1.65 V(1)在电源关闭:外部电源供应器 模拟外设(最小电压被施加到VDDA是1.8 V ADC1时 用)。VDDA和VSSA必须连接到VDD和VSS,分别。

●vssio;VDDIO = 1.8至3.6 V,下降到1.65 V(1)在电源关闭:外部电源 用于I / O。VDDIO和vssio必须连接到VDD和VSS,分别。 ●Vref+;VREF(为ADC1):为ADC1外部参考电压。必须提供 通过外部的VREF +和VREF引脚。 ●Vref+(DAC)(1):DAC的外部参考电压必须提供外部 通过Vref+。

6.2上电复位(POR)/掉电复位(PDR)

该装置具有一个集成的POR / PDR电路可以工作到1.5 V典型。在上电,该装置保持在复位模式时,VDD的/ VDDA低于指定的阈值,VPOR,无需外部复位电路的需要。在POR功能是启用的POR阈值约为1.5 V.在断电,PDR保持装置下复位当电源电压(VDD)下面的vpdr阈值下降。PDR的特点是始终启用和PDR阈值为1.5 V。 在低密度的设备,介质密度的设备和在培养基+高密度 设备操作从1.8V至3.6V(设备的部分号码没有“D”后缀),BOR的开始 在以上工作的POR阈值(见6.3节:掉电复位(BOR)65页)。以

确保最低工作电压(1.65 V),BOR应配置博尔 0级。

当波尔是残疾人,最低工作电压之间存在一个“灰色地带” (1.65 V)(1)和VPOR / vpdr阈值。这意味着可以低于1.65 V VDD 没有设备复位,直到达到vpdr阈值。更多的细节问题 在/断电复位阈值功率,指的是数据表的电气特性。

6.3掉电复位(BOR) 低密度的设备,设备和介质中密度和高密度的设备+从1.8 V至3.6 V,BOR在电源一直很活跃,使单片机复位到应用操作达到阈值。

在电源关闭,BOR阈值也被用来产生一个复位。

BOR阈值(vbor)可以使用选项字节配置。五个不同的层次 可以选择,从1.8 V 3 V开始。如果博尔是残疾人,复位阈值 在掉电vpdr:保证VDD的最小值为1.65 V(1)。参考图14。

功率控制单元(PWR)有一个内部参考电压是由BOR或者其他的模拟功能的使用。 为了减少在停止模式下的功耗,可以自动切断

在pwr_csr2注册使用ULP点内部参考电压。在这种情况下,当 单片机醒来从停止模式有一个额外的延迟内部参考

电压启动。这种延迟可以使用福点在pwr_csr2寄存器配置 (见表11)。

使博尔保证单片机安全作为它不能运行,当VDD低于操作范围。

当波尔是残疾人在电源关闭,这是vpdr阈值。 6.4可编程电压检测器(PVD)

该装置具有一个嵌入式可编程电压检测器(PVD)监视VDD / VDDA电源和比较它的vpvd阈值。

当VDD / VDDA低于vpvd阈值和/或当VDD / VDDA高于

该vpvd阈值,PVD的输出变化和PVD生成事件。每一个物理气相沉积 事件设置中断标志(pvdif)在pwr_csr1寄存器。当前的状态 PVD输出可以通过在pwr_csr1注册pvdof标志的状态监测。如果 在pwr_csr1注册pvdien位设置,PVD中断使能,

时产生的pvdif标志设置。为了防止一些伪中断,为pvdif 国旗必须清除软件,用户必须确保pvdif标志被清除 在PVD中断启用前中断服务返回。的

PVD是通过软件设置在pwr_csr1寄存器的高聚物PVDF位启用。

这PVD有1.85 V和3.05 V之间的7个不同的层次,通过PLS [2:0]位在pwr_csr1寄存器选择,在步骤200毫伏左右。请参阅“电/断电操作条件”一节中的产品数据表。 在pvd_in输入引脚的外部参考电压可以通过设置请[2:0]位选111。 注:电压注入pvd_in(Pe6)是相对于vrefint内部参考电压。

6.5的内部参考电压(vrefint)

的功能,通过内部参考电压(vrefint)是博尔,PVD, ADC,LCD内部VLCD增压器和比较器。内部电压基准

(vrefint)是始终启用。在停止模式和主动停止内部参考电压的消耗是不可忽略的。在这些模式中的功率消耗减少,ULP点(超低功率)在pwr_csr2寄存器可以设置为禁用内部参考电压

在停止和主动停止模式。在这种情况下,当退出这些模式,在

的功能,通过内部参考电压是不可靠的在内部参考电压启动时间tvrefint(高达3毫秒,指的是数据表)。为了减少

唤醒时间,可以退出停止/主动停止模式而无需等待内部

参考电压启动时间。这是通过设置福点进行(快速唤醒)在pwr_csr2注册进入之前停止/主动停止模式。在这vrefintf旗

pwr_csr寄存器表明内部参考电压是准备。因此,上面列出的模拟功能可以使用。

1。的福位或ULP点不能改变之前的内部参考电压是正确的

稳定。在pwr_csr2注册vrefintf点可用于检查内部参考电压的状态。 2。指的是唤醒时间值的产品数据表。 6.6的电压调节器

该装置具有用于产生1.8 V电源内部电压调节器(电压)为核心和外围设备。 该调节器具有两种不同的模式:

●主电压调节模式(MVR)运行,等待中断(WFI)和等待事件 (WFE)模式。

●超低功率调节模式(ULP)停止和主动停止模式。

监管模式开关模式自动,而在某些情况下,一些寄存器的控制位。参见表14。

6.7压水堆寄存器

6.7.1功率控制和状态寄存器1(pwr_csr1) 偏移地址:0x00

上电复位复位后的价值:0x00

7位保留,必须清除。 6位pvdof:PVD输出标志 该位设置和清除的硬件。

0:VDD的/ VDDA高于vpvd阈值 1:VDD的/ VDDA低于vpvd阈值 5位pvdif:PVD中断标志

这一点是由硬件和软件写了“1”。0:无PVD事件发生 1:PVD中断。这一点是由硬件PVD事件发生时。 4位pvdien:PVD中断使能 该位设置和清除软件。 0:PVD禁止中断

1:PVD中断使能

位3:1 PLS [2:0]:PVD水平选择 这些位可以通过软件。

000:PVD阈值= 1.85 V型。 001:PVD阈值= 2.05 V型。 010:PVD阈值= 2.26 V型。 011:PVD阈值= 2.45 V型。 100:PVD阈值= 2.65 V型。 101:PVD阈值= 2.85 V型。 110:PVD阈值= 3.05 V型。 111:阈值=pvd_in输入引脚

更多详细信息,请参阅“开机/关机操作条件”一节中的产品数据表。 0位高聚物PVDF:电源电压检测器(PVD)使 这一点是由硬件和软件写了“1”。 0:PVD关闭 1:PVD上

位7:3保留,必须清除。 2位福:快醒醒配置 参见表11。

注:该福点不能在内部参考电压相对稳定的改变。 在pwr_csr2注册vrefintf点可用于检查内部状态 参考电压。

1位超低功耗:超低功率配置 参见表11。

注:该福点不能在内部参考电压相对稳定的改变。 在pwr_csr2注册vrefintf点可用于检查内部状态 参考电压。

0位vrefintf:内部参考电压状态标志 该位设置和清除的硬件

0:内部参考电压或不稳定的1:内部参考电压

7低功耗模式

默认情况下,微控制器在运行模式后,系统或电复位。然而设备支持五种低功耗模式,以实现低功耗之间的最佳折衷,启动时间短,可以唤醒源:

●等待模式:CPU时钟停止,但选择的外围设备继续运行。一个 内部或外部中断,事件或复位可用于出口的微控制器

从等待模式。参考7.3节:等待模式(WFI或WFE模式)72页 ●低功率运行模式:CPU和外围设备运行的选择。执行 从RAM与低速振荡器做(LSI或LSE)。Flash和数据的EEPROM 停止和电压调节器被配置在超低功耗模式。的

单片机通过软件的低功率运行模式进入和退出该模式 软件或通过复位。

所有的中断必须屏蔽。它们不能用于出口的微控制器从这 模式。

●低功耗等待模式:这个模式进入时,执行一个等待事件在低 电源的运行模式。这是类似的低功率运行模式除了CPU时钟 停止。从这一模式唤醒是由一个复位或通过内部或触发 外部事件(周围事件的定时器,串行接口生成,DMA 控制器,比较器和I / O端口)。当唤醒是由事件触发的, 系统返回到低功率运行模式。

所有的中断必须屏蔽。它们不能用于出口的微控制器从这 模式。

●主动暂停模式:CPU和外设的时钟停止,除了RTC。的 唤醒可以由RTC中断触发,外部中断或复位。

●暂停模式:CPU和外设的时钟停止,该装置保持动力 在。唤醒触发外部中断或复位。一些外围设备也 从停止能力唤醒。关闭内部参考电压进一步 降低功耗。通过软件配置(见表11)也是

可能有6µ是一个快速唤醒时间,无需等待内部参考 电压启动时间。

1。执行暂停指令之前,应用程序必须明确任何挂起的外周的中断的中断 待点相应的外围配置寄存器。否则,停止指令不执行和 程序继续执行。

此外,在运行模式下的功率消耗可以通过下面的方法降低: ●减缓系统时钟

●门控时钟的时候都不用的外设。 7.1减缓系统时钟 在运行模式下,选择的时钟频率是确保性能和功耗之间的最佳折衷很重要。的选择是通过编程完成

分频器寄存器。这些预分频器也可以用来减缓外设之前 进入低功耗模式。

注意:在应用中,单片机可以停止一定时间,功率消耗

可以通过保持快速时钟最小化(高绩效执行)在活动期间,为了减少活跃期和停止之间的比率(即“零”的消费)时期。 7.2周门控时钟(PCG)

额外的功率节省,你可以使用外部时钟门控(PCG)。这可以在任何时间进行选择性地启用或禁用系统时钟时钟连接个人设备。这些设置在有效运行和等待模式。 每个PCG状态代表一个特定的功率或低功率水平。它是由

外周时钟使能寄存器(clk_pckenr1,clk_pckenr2和clk_pckenr3)。 7.3等待模式(WFI或WFE模式)

等待模式是从进入运行模式下执行注射用水(等待中断)或有限元(等待事件)指令:停止CPU但允许其他外设和中断控制器继续运行。消费相应减少。等待模式可以结合PCG进一步降低装置能耗。

在等待模式下,所有的寄存器和RAM的内容被保存并通过时钟分频寄存器选择时钟配置(clk_ckdivr)保持不变。 7.4等待中断(WFI)模式

等待中断模式是从进入运行模式执行注射用水(等待中断)指令。

当内部或外部中断请求时,CPU唤醒WFI模式,服务中断和恢复处理。 注意:在一个中断的应用程序,其中大部分的处理是通过中断了

程序的主程序,可以通过设置激活水平位悬浮(Al)在cfg_gcr寄存器。设置此位使CPU返回WFI模式没有恢复的主要执行上下文。这节省了删除保存/恢复上下文功率 活动和主电源管理软件循环执行的需要(为了回到WFI模式)。 7.5等待事件(WFE)模式

等待事件模式是从进入运行模式的执行一个指令的妻子。

在这一模式中断请求是正常,取决于在cpu_cc注册I0和I1的位的值。

周围的事件可以通过定时器,串行接口生成,DMA控制器,比较器和I / O端口。这些是由wfe_crx寄存器启用。

当外部事件启用相应的中断,没有服务,你必须明确相应的标志的状态。 有两种方法来唤醒CPU从有限元模式:

●中断:中断发生时,CPU唤醒WFE模式和服务 中断。处理中断后,处理器可以追溯到WFE模式。 ●唤醒事件:当一个唤醒事件发生时,CPU唤醒和恢复

处理。作为处理的简历后直接WFE指令,没有上下文保存/恢复活性(这可以节省时间和功率消耗)。

进一步降低功耗可使用该模式与实现

执行从RAM。在一些非常低功率应用中,当主软件程序是短暂的,具有较低的执行时间,这个程序可以被移动到RAM和执行从RAM。随着Flash程序存储器是不使用时的功耗唤醒,然后在运行时间减少。

在任何时候,另一个例程(存储在闪存程序存储器)可以通过软件通过简单的呼叫/跳到这个程序执行。

7位exti_ev3:外部中断事件3

这一点是由软件选择外部中断源用于唤醒CPU从有限元模式。 0:没有唤醒事件产生的外部中断从所有端口3引脚 1:外部中断从所有端口配置为生成唤醒事件3针 6位exti_ev2:外部中断事件2

这一点是由软件选择外部中断源用于唤醒CPU从有限元模式。 0:没有唤醒事件产生的外部中断从所有端口2引脚 1:外部中断从所有端口配置为生成唤醒事件2针 5位exti_ev1:外部中断事件1

这一点是由软件选择外部中断源用于唤醒CPU从有限元模式。 0:没有唤醒事件产生的外部中断从所有端口1引脚 1:外部中断从所有端口配置为生成唤醒事件1针 4位exti_ev0:外部中断事件0

这一点是由软件选择外部中断源用于唤醒CPU从有限元模式。 0:没有唤醒事件产生的外部中断从所有端口0引脚 1:外部中断从所有端口配置为生成唤醒事件0针 3位tim1_ev1:TIM1中断事件1

这一点是由软件配置TIM1中断用于唤醒CPU从WFE模式来源。 0:没有唤醒事件捕获和比较中断产生的炎症

1:TIM1捕获比较中断逻辑“或”和配置生成的唤醒事件 2位tim1_ev0:TIM1中断事件0

这一点是由软件配置TIM1中断用于唤醒CPU从WFE模式来源。 0:没有唤醒事件TIM1更新产生,触发和断线中断

1:TIM1更新,触发和断线中断逻辑“或”和配置生成的唤醒事件 1位tim2_ev1:TIM2中断事件1

这一点是由软件配置TIM2中断用于唤醒CPU从WFE模式来源。 0:没有唤醒事件对TIM2捕捉生成和比较中断

1:TIM2捕获比较中断逻辑“或”和配置生成的唤醒事件 0位tim2_ev0:TIM2中断事件0

这一点是由软件配置TIM2中断用于唤醒CPU从WFE模式来源

0:没有唤醒事件对TIM2更新产生,触发和断线中断

1:TIM2更新,触发和断线中断逻辑“或”和配置生成的唤醒事件

7位adc1_comp_ev

这一点是由软件选择中断从用于唤醒CPU从WFE模式ADC1和比较器的来源。 0:没有唤醒事件产生中断的ADC1和比较器 1:中断的ADC1和比较器被配置为生成唤醒事件 6位exti_eve_f:外部中断事件端口或端口F

这一点是由软件选择外部中断端口或端口F用于唤醒CPU从WFE模式来源。 0:没有唤醒事件产生的外部中断端口或端口F 1:外部中断端口或端口F配置生成唤醒事件

5位exti_evd:外部中断事件端口或端口D H(1)

这一点是由软件选择外部中断源端口或端口(1)用于唤醒CPU从有限元模式。 0:没有唤醒事件产生的外部中断端口或端口(1) 1:外部中断端口或端口(1)配置为生成唤醒事件 4位exti_evb:外部中断事件B口或端口G(2)

这一点是由软件选择外部中断源端口或端口B G(2)用于唤醒CPU从有限元模式。 0:没有唤醒事件产生的外部中断从B口或端口G(2) 1:外部中断端口或端口B G(2)配置为生成唤醒事件 3位exti_ev7:外部中断事件7

这一点是由软件选择外部中断源用于唤醒CPU从有限元模式。 0:没有唤醒事件产生的外部中断从所有端口7引脚 1:外部中断从所有端口配置为生成唤醒事件7针 2位exti_ev6:外部中断事件6

这一点是由软件选择外部中断源用于唤醒CPU从有限元模式。 0:没有唤醒事件产生的外部中断从所有端口6引脚 1:外部中断从所有端口配置为生成唤醒事件6针 1位exti_ev5:外部中断事件5

这一点是由软件选择外部中断源用于唤醒CPU从有限元模式。 0:没有唤醒事件产生的外部中断从所有端口5引脚 1:外部中断从所有端口配置为生成唤醒事件5针 0位exti_ev4:外部中断事件4

这一点是由软件选择外部中断源用于唤醒CPU从有限元模式。 0:没有唤醒事件产生的外部中断从所有端口4引脚 1:外部中断从所有端口配置为生成唤醒事件4针

1。外部中断端口D中密度的设备和端口D和H为低,中等和高密度器件。 2。外部中断对中密度的设备端口B和B口或G为低,中等和高密度器件。

7位dma1ch23_ev:蛋白Dma1通道2和3的中断事件

这一点是由软件选择通道2和3的蛋白Dma1中断用于唤醒CPU从WFE模式来源。 0:没有唤醒事件对蛋白Dma1通道2和3产生的 1:蛋白Dma1通道2和3个中断配置生成唤醒事件 6位dma1ch01_ev:蛋白Dma1通道0和1的中断事件

这一点是由软件选择通道0和1的蛋白Dma1中断用于唤醒CPU从WFE模式来源。 0:没有唤醒事件对蛋白Dma1通道0和1产生的 1:蛋白Dma1通道0和1interrupts配置生成唤醒事件 5位usart1_ev:USART1 RX和TX中断事件

这一点是由软件选择USART1 RX和TX中断用于唤醒CPU从WFE模式来源 0:没有唤醒事件USART1 RX和TX产生 1:USART1 RX和TX中断配置生成唤醒事件 4位i2c1_ev:I2C1 RX和TX中断事件

这一点是由软件选择I2C1 RX和TX中断用于唤醒CPU从WFE模式来源 0:没有唤醒事件I2C1 RX和TX产生 1:I2C1 RX和TX中断配置生成唤醒事件 3位spi1_ev:spi1rx和发送中断事件

这一点是由软件选择spi1rx和发送中断用于唤醒CPU的来源 从人力资源管理模式

0:没有唤醒事件产生spi1rx和TX

1:spi1rx和发送中断配置生成唤醒事件 2位tim4_ev:时间中断事件

这一点是由软件配置的时间使用中断唤醒CPU的来源 人力资源管理模式

0:没有唤醒事件在时间更新和触发产生中断

1:时间更新和触发中断逻辑“或”和配置生成的唤醒事件 1位tim3_ev1:TIM3中断事件1

这一点是由软件配置TIM3使用中断唤醒CPU的来源 人力资源管理模式。

0:没有唤醒事件生成和比较TIM3捕获中断

1:TIM3捕获比较中断逻辑“或”和配置生成的唤醒事件 0位tim3_ev0:TIM3中断事件0

这一点是由软件配置TIM3中断用于唤醒CPU从WFE模式来源。 0:没有唤醒事件产生TIM3更新,触发和断线中断

1:TIM3更新,触发和断线中断逻辑“或”和配置生成的唤醒事件

7位保留

6位aes_ev:AES中断事件

这一点是由软件配置AES使用中断唤醒CPU WFE模式从源。 0:没有唤醒事件从AES周围产生 1:AES中断配置生成唤醒事件 5位tim5_ev1:tim5中断事件1

这一点是由软件配置tim5中断用于唤醒CPU从WFE模式来源。 0:没有唤醒事件生成和比较tim5捕获中断

1:tim5捕获比较中断逻辑“或”和配置生成的唤醒事件 4位tim5_ev0:tim5中断事件0

这一点是由软件配置tim5中断用于唤醒CPU从WFE模式来源。 0:没有唤醒事件产生tim5更新,触发和断线中断

1:tim5更新,触发和断线中断逻辑“或”和配置生成的唤醒事件 3位usart3_ev:usart3 RX和TX中断事件 0:没有唤醒事件从usart3 RX和TX产生 1:usart3 RX和TX中断配置生成唤醒事件 2位usart2_ev:USART2 RX和TX中断事件

这一点是由软件选择USART2 RX和TX中断用于唤醒CPU从WFE模式来源 0:没有唤醒事件从USART2 RX和TX产生 1:USART2 RX和TX中断配置生成唤醒事件 1位spi2_ev:SPI2 RX和TX中断事件

这一点是由软件选择SPI2 RX和TX中断用于唤醒CPU从WFE模式来源。 0:没有唤醒事件从SPI2 RX和TX产生 1:SPI2 RX和TX中断配置生成唤醒事件

0位rtc_csslse_ev:“时钟”或“CSS LSE“中断事件

这一点是由软件选择中断源(“时钟”或“CSS对伦敦证交所”)用于唤醒CPU从有限元模式。 0:没有唤醒事件从RTC或CSS LSE中断事件产生 1:RTC或CSS LSE中断配置生成唤醒事件

7.6低功率运行模式

这种模式是基于代码读取从RAM与超低功耗模式调节器(ULP)和EEPROM的IDDQ。 在使用这种模式,你必须从高速时钟源切换到低速时钟源。 注:ADC不能用在低功率运行模式,必须禁用。 7.6.1进入低功率运行模式

这种模式是通过执行下面的软件序列输入: 1跳到RAM。

2。开关系统LSI或LSE时钟源的时钟

3。关闭高速振荡器,ADC和所有未使用的设备 4屏蔽所有的中断。

5。开关关闭闪光灯/数据EEPROM设置在flash_cr1寄存器eepm点 6。添加一个软件延时回路来确保Flash /数据EEPROM关状态 7。在设置regoff点配置调节器的超低功耗模式 clk_regcsr寄存器

7.6.2退出低功率运行模式

要退出此模式的唯一方法是遵循这些步骤:

1。通过设置在clk_regcsr的regoff主位开关稳压器

寄存器。在clk_regcsr注册regready标志被设置时,调节器 准备好了。

2。通过复位eepm点flash_cr1登记上的Flash /数据EEPROM开关。的 eeready国旗在clk_regcsr寄存器设置闪光/数据EEPROM是当 准备好。

3复位中断屏蔽。

4开关上。什么是必要的和跳跃闪烁/数据EEPROM如果需要。 7.7低功率待机模式

这种模式是通过执行一个指令进入WFE单片机在低功率运行

模式。它可以退出,只有通过外部或内部事件的手段。在这种情况下,单片机 返回到低功率运行模式。 7.8停止模式

在这种模式下的系统时钟停止。这意味着CPU和外围设备 由SYSCLK或导出时钟时钟被禁用,以下情况除外: ●HSI时钟是不是如果用游泳停止

●系统时钟源不停止如果闪速/数据的EEPROM写操作是在 进步

●LSI时钟不是由游泳用的IWDG或停止,如果“iwdg_halt” 位元是禁用的。

在停止模式,外围的设备没有时钟和单片机的数字部分几乎没有电力消耗。 7.8.1进入暂停模式

单片机进入停机模式时,停止指令执行。

注意:建议不要进入停止/活跃的低功率运行模式停止模式。 否则,退出一个这两种模式的唯一安全的方法是将单片机。 执行暂停指令之前,应用程序必须明确所有未决的周围 中断清除中断点在相应的外围设备配置

寄存器。否则,停止指令没有执行,程序继续执行。

然而,停止程序可以如果下面的一个标志设置延迟:●swbsy国旗在clk_swcr寄存器 ●eebusy国旗在clk_clk_regcsr寄存器 ●rtcswbsy国旗在clk_crtcr寄存器

●beepswbsy国旗在clk_cbeepr注册时发出哔哔声主动停止模式 启用。

如果sahalt位设置在clk_ickcr寄存器的主要调节器(MVR)将切换 没有考虑到一些高速时钟可以由系统使用。 7.8.2退出暂停模式

从停止模式唤醒触发外部中断的一个通用I / O端口资源配置为一个能够触发外部中断函数引脚输入中断或。

系统时钟和频率取决于以此点重新启动

clk_ickcr寄存器。如果FHW位设置,HSI / 8系统时钟,否则系统时钟是最后选择的时钟源进入暂停模式之前。 在一个中断的应用程序,其中大部分的处理是通过中断程序完成,主程序可以通过设置激活水平位悬浮(Al)的CPU配置寄存器。设置此位使CPU返回到停止模式时,执行中断返回,没有恢复的主要执行上下文。

电力消耗是由于没有保存/恢复方面的活动,不需要减少 电源管理软件的主要循环执行(为了回到WFI模式)。

唤醒从停止模式后,液晶时钟开关从rtcclk至SYSCLK。有 没有问题,一个稳定的时钟信号,2 rtcclk周期所需的同步 原因。因此,读/写访问LCD寄存器是不可能在这个时期。 7.9主动停止模式

主动暂停模式类似于暂停模式。

注意:建议不要进入停止/活跃的低功率运行模式停止模式。 否则,退出一个这两种模式的唯一安全的方法是将单片机。

在主动暂停模式,主振荡器,CPU和几乎所有的外设都停止了。只有振荡器或晶体是伦敦证交所运行驱动游泳,寻呼机,IWDG,RTC和LCD如果启用。

8复位(RST) 有6个复位源:

●外部复位通过活动销(此引脚也可以配置为一般 目的输出)

●上电复位(POR)/掉电复位(PDR)●看门狗复位(IWDG) ●窗口看门狗复位(wwdg) ●非法操作码复位(illop) ●游泳复位

这些来源的作用在活动销。复位服务例程向量被固定在内存映射地址0x8000。

8.1“复位状态”和“下复位”的定义

当复位时,有从外部引脚下拉到内部复位信号释放复位阶段。在这一阶段,微控制器设置一些硬件

要复位向量在配置。 在本阶段结束时,大多数的寄存器配置他们的“复位状态”的价值观。在复位阶段,即“复位”,一些引脚配置可以不同于他们的“复位状态”的配置。 8.2外部复位(NRST引脚) 8.2.1异步外部复位的描述

这是一个输入和活动销与一个集成的RPU弱上拉电阻,一个开漏输出。 在目前的销最低300 ns的低脉冲生成所需要的外部复位。 复位检测是异步的,因此单片机可以进入甚至死机复位 模式。

该活动引脚也作为一个开漏输出复位的外部设备。从内部复位的复位脉冲源的任何持有NRST输出低至少20µ美国内部RPU弱上拉确保高水平的活动销复位是当不 强制低。

8.2.2配置活动/ PA1引脚作为通用输出

优化现有的引脚数量,该活动销(外部复位)可以被配置为一个通用的推挽输出(PA1)。 为了安全,这种配置可以进行一次复位后,以书面指定的键(0xd0)的复位引脚配置寄存器(rst_cr)。

当PA1引脚配置为一个通用输出,单片机可以复位的上电复位(POR)或其他内部复位源。 8.3内部复位

内部复位源,该活动销在由脉冲发生器产生的延迟期保持低。 每个内部复位源与在复位状态寄存器的特定标志位(rst_sr)。这些标志被设置在复位状态,根据给定的复位源。因此,它们可以被用来确定最后的复位源。他们是通过软件编写的逻辑

值“1”。

注:所有标志除葡萄牙国旗在POR复位。 8.3.1上电复位(POR)

在上电,POR保持装置在复位模式直到VDD到达指定的

阈值。POR复位,然后举行一个指定的时间以确保VDD的已达到 最低工作电压。看到在数据表的电气参数部分的更多 细节。

8.3.2看门狗复位

详情请参阅的看门狗章。

复位可以使用的看门狗应用软件触发。 8.3.3窗口看门狗复位

详情请参阅窗口看门狗章。 8.3.4游泳复位

连接到接口的外部设备可以要求游游泳块产生一个单片机复位。 8.3.5非法操作码复位

一个非法操作码检测系统的实现提高设备的抗突发行为。如果要执行的代码不符合任何操作码或prebyte值,产生一个复位。这,结合看门狗,允许从一个意想不到的故障或干扰恢复。

位7:6保留,必须清除。 5位Borf:掉电复位标志

这一点是由硬件和软件写了“1”。0:没有博尔复位发生 1:一个BOR复位发生

4位wwdgf:窗口看门狗复位标志

这一点是由硬件和软件写了“1”。0:没有wwdg复位发生 1:一个wwdg复位发生 3位swimf:游泳复位标志

这一点是由硬件和软件写了“1”。0:没有游泳复位发生 1:游泳复位发生

2位illopf:非法操作码复位标志

这一点是由硬件和软件写了“1”。 0:没有illop复位发生 1:一个illop复位发生

1位iwdgf:的看门狗复位标志 这一点是由硬件和软件写了“1”。 0:没有看门狗复位发生 1:一个看门狗复位发生 0位项目:上电复位(POR)旗

这一点是由硬件和软件写了“1”。0:没有POR发生 1:POR发生

9控制的时钟(CLK)

本节适用于低密度stm8l05xx / stm8l15xx设备,介质密度

stm8l05xx / stm8l15xx设备,介质+密度stm8l05xx / stm8l15xx设备 高密度stm8l05xx / stm8l15xx / stm8l16xx设备,除非另有规定。 9.1引言

该时钟控制器的设计是非常强大的,同时使用方便。它的

目的是为了获得最佳的性能,在应用程序中同时获得所有的单片机节电能力充分受益。 你可以管理的时钟分配CPU和各种外围设备,为了优化功耗。

安全和故障自由切换机制允许你在飞的系统时钟分频因数开关,由时钟分频器装置。

1。HSE时钟源可以是外部晶体或陶瓷谐振器或外部源(HSE 旁路)。参考9.2节:HSE时钟。

2。伦敦证交所的时钟源可以是外部晶体或陶瓷谐振器或外部源(LSE 旁路)。参考9.4节:LSE的时钟。

3。外周时钟使能在低密度的设备和介质密度器件的14位和20位13 在培养基+和高密度的设备位。

4。本css_lse点可在低密度,高密度的介质+和设备。 四种不同的时钟源可以用来驱动系统时钟: ●16 MHz高速内部(HSI)工厂调整RC时钟 ●1到16 MHz高速外(HSE)振荡器时钟 ●32.768千赫低速外(LSE)振荡器时钟 ●38千赫低速内部(LSI)低功耗时钟

每个时钟源可以开启或关闭不使用时的功耗,优化。 这四个时钟可以用一个可编程分频器(因素1至128)驱动 系统时钟(系统时钟)。该系统时钟用于时钟的核心,内存和外设。 复位后,该设备重新启动与HSI时钟除以8的违约。该分频器分频比 时钟源可以改变应用程序尽快执行代码 起点。

所有的外设时钟来自系统时钟(SYSCLK)除了: ●哔时钟是来自伦敦证交所或LSI钟。这种选择是由 编程的clkbeepsel [1:0]位在时钟嘀寄存器(clk_cbeepr)。

●RTC和液晶时钟是来自伦敦经济学院,恒生指数(HSI和LSI或HSE HSE是由在clk_crtcr寄存器可编程分频器)。更多 关于RTC和液晶时钟源配置请参考 9.9部分:实时时钟和液晶时钟

●的IWDG时钟始终是大规模集成电路的时钟。 9.2 HSE时钟

高速外部时钟信号(HSE)可以从两个可能的时钟源产生的: ●HSE外部晶体或陶瓷谐振器●HSE用户外部时钟 注意:在谐振器和负载电容必须放在尽可能接近的 振荡器引脚以减少输出失真和启动稳定时间。的 负载电容值必须根据选定的振荡器调整。

外部晶体或陶瓷谐振器(HSE水晶)

1到16 MHz的外部振荡器具有产生与50%的占空比主时钟非常准确率的优点。 相关的硬件配置如图18所示。详细信息请参阅在产品数据表电气特性部分。 在启动振荡器产生的时钟信号是不稳定的,和一个默认的延迟 1个振荡器周期之前插入的时钟信号被释放。你可以计划一个 在hsecnt选项字节稳定时间,请在选项字节段 数据表。

在外部时钟寄存器的hserdy旗(clk_eckcr)表示如果高速外部振荡器是稳定的或不。在启动时,时钟直到这个点是由硬件的发布。

HSE晶体可以开启和关闭,使用hseon点在外部时钟寄存器(clk_eckcr)。 外部源(HSE旁路)

在这种模式下,外部时钟源必须提供。它可以有一个频率上 16兆赫。应用程序可以通过在外部时钟寄存器clk_eckcr设置hsebyp和hseon位选择这种模式。外部时钟信号(平方,窦或

三角形)与~ 50%工作周期具有驱动osc_in引脚,osc_out引脚可作为标准的I/O,见图18。 注意:在选择这种模式,你必须确保HSE时钟源不使用 RTC,输出或参与一个开关操作。 9.3个HSI时钟

HSI时钟信号是从内部产生的16 MHz的钢筋混凝土。

在启动系统时钟源自动选择HSI RC时钟输出除以8(HSI / 8)。

HSI RC振荡器具有16 MHz的系统时钟源50%占空比的低成本优势(无需外部元件)。它还具有比HSE晶体振荡器,但更快的启动时间,甚至与校准的频率是不准确的比外部晶振或陶瓷谐振器。 校准

每个设备的工厂校准。复位后,工厂校准值自动加载在HSI校准寄存器(clk_hsicalr))和用于修剪HSI

振荡器。只读的clk_hsicalr寄存器的内容可以作为用户的校准参考。

如果应用程序是受电压或温度的变化,这可能会影响到RC振荡器的速度。你可以修剪,HSI频率使用HSI时钟校准微调寄存器中的应用(clk_hsitrimr)。这个寄存器提供内部HSI校准寄存器的值。

在写这个注册,你必须打开硬件写保护,然后使用下面的过程: 1。两个连续写到HSI解锁寄存器访问(clk_hsiunlckr),该 第一个和第二个0xac价值与价值0x35。

2。写HSI修整值到HSI时钟校准微调寄存器 (clk_hsitrimr)。

注:其他任何试图读/写数据/时钟寄存器断开锁过程 硬件保护再设置。

当这个过程是否完成,注册clk_hsitrimr锁定了 书面HSI修整值是用来装饰的HSI振荡器校准值。 备份源

HSI时钟也可以用来作为一个备份源(辅助时钟)如果HSE振荡器失败。参考9.8节:时钟安全系统(CSS)95页。 快速唤醒功能

如果联邦旅馆工人联盟点在内部时钟寄存器(clk_ickcr)设置,自动选择

HSI时钟作为系统时钟停止或暂停模式的MCU唤醒后活性。 否则,相同的时钟源,用于停止或暂停模式进入活跃之前 选择。

9.4 LSE时钟

伦敦证交所的晶体是一个32.768 kHz的低速外部晶体或陶瓷谐振器。它具有 提供低功耗的优势和高度精确的时钟源的实时时钟 外周(RTC)的时钟/日历或其他定时功能。

伦敦证交所的晶体是开启和关闭,使用lseon点在外部时钟寄存器 (clk_eckcr)。它也自动打开时,它是作为RTC,CCO,哔哔或系统的时钟源。在启动时,伦敦证交所的晶体输出时钟信号后,lserdy标志被设置在外部时钟寄存器传输到单片机的硬件

(clk_eckcr)。

注意:严禁使CCO的LSE启动时间,台联结束前(LSE)。

它还建议等待LSE启动时间在启用其他功能使用LSE,为了有一个稳定的频率。 外部源(LSE旁路)

在这种模式下,外部时钟源必须提供。它必须有一个32.768千赫频率。应用程序可以通过在外部时钟寄存器设置lsebyp和lseon位选择这种模式(clk_eckcr)。外部时钟信号(平方,窦或三角形)与~ 50%工作周期具有驱动osc32_in引脚,osc32_out引脚可作为标准的I/O,见图18。

注意:在选择这种模式,你必须确保伦敦证交所的时钟源是不使用的 在一个开关操作RTC输出或参与。 9.5集成电路的时钟

LSI的钢筋混凝土作为一个低功率时钟源,可以保持运行在主动停止 运行的看门狗模式(IWDG)。时钟频率为38千赫左右。 更多的细节,请参阅产品数据表电气特性部分。

LSI RC可以开启和关闭,使用乳点在内部时钟寄存器(clk_ickcr)。 检测一个序列进入游泳模式,大规模集成电路自动保持在除了停止和主动停止模式启用所有模式。因此,LSI可以关闭通过清除乳点如果没有周围的时钟由LSI和游后已被设置在cfg_gcr寄存器位残疾人社会福利署。LSI是不是一直在停止和暂停模式的游泳活动。 在内部时钟寄存器的lsirdy旗(clk_ickcr)表示如果低速

内部振荡器是稳定的或不。在启动时,时钟直到这个点是由硬件的发布。 9.6系统的时钟源 9.6.1系统启动

快速系统启动,复位时钟控制器将系统时钟源为HSI RC时钟输出除以8后(HSI / 8)。这是利用短

在HSI振荡器稳定时间。

一旦系统时钟发布,用户程序可以系统时钟切换到另一个时钟源(LSI,HSE,或LSE)和/或修改分频器分频比。 9.6.2系统时钟切换程序

时钟切换功能提供了一个易于使用的,用于从一个系统时钟源切换到另一个应用程序的快速和安全的方式。

开关的时钟源,你可以有两种方式:●自动切换 ●手动切换 自动切换

自动开关,让用户用最少的指令发射时钟切换。该软件可以继续做其他操作,不考虑开关事件的确切时间。

参照图19中的流程图。 使用以下过程:

1。使开关机制通过设置嵩位开关控制寄存器 (clk_swcr)。

2。写使用系统时钟开关选择目标时钟源的8位值 寄存器(clk_swr)。在clk_swcr注册swbsy位是由硬件,和目标源振荡器开始。古老的时钟源继续驱动CPU和外设。

只要目标时钟源准备(稳定的),clk_swr寄存器的内容复制到系统时钟状态寄存器(clk_scsr)。

该swbsy位被清除,新的时钟源取代旧的。如果swien位设置,在clk_swcr的快捷设置标志和中断产生的。

因篇幅问题不能全部显示,请点此查看更多更全内容