STM8L15X中文参考手册 下载本文

简介

本参考手册的目标应用程序开发人员。它提供了完整的信息如何使用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.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)。64。 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)。..。164 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)。..。..189 13.6.6 DMA地址寄存器(外周高dma_cxparh)。..。189 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段驱动器。264 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)389 20.5.18捕获/比较寄存器1高(timx_ccr1h)。389。 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寄存器图及复位值。..。464 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)。..。489

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)。..。..564 30.4.6 SPI多项式的CRC寄存器(spi_crcpr)。..。564 30.4.7 SPI RX CRC寄存器(spi_rxcrcr)。..。564 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 表64显示寄存器映射。..。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

表89。AES寄存器图及复位值。..。464 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时钟源。..。89

图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偏压)。..。..264 图64电阻网络。..。267 图65的对比度控制。..。268 图66软中断信号。..。270 图67 TIM1总框图。285 图68时基单元。..。..286

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

图71。当计数器更新ARPE = 0(ARR没有预分频器= 2)。..。..289 图72。计数器更新事件时,ARPE = 1(tim1_arr预装)。..。289 图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 图89定时器链接系统的实现实例。..。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 图164接收数据的建立/保持时间。..。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字节的数据存储器

–多达64选择字节(一块)

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

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

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

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

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

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

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

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

●读而写能力(读写网)

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

存储器读出保护(ROP)

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

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

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

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

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

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

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

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

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是分成三个内存阵列: ●64字节的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存储器和数据存储器。