STM32F10xxx硬件开发入门

合集下载

STM32快速入门教程

STM32快速入门教程

STM32快速入门教程STM32是一种微控制器系列,由意法半导体(STMicroelectronics)公司推出。

它具有高性能、低功耗和丰富的外设功能,非常适合用于各种嵌入式应用。

本文将介绍STM32的快速入门教程,帮助读者快速上手使用STM32进行开发。

准备好硬件和软件环境后,我们可以开始编写程序了。

首先,我们需要创建一个新工程。

在Keil中,选择“Project”->“New uVision Project”,然后选择STM32的型号和储存路径。

在STM32CubeIDE中,选择“File”->“New”->“STM32 Project”,然后按照向导创建新工程。

接下来,我们需要配置工程的设置。

包括选择编译器、指定目标芯片型号、选择运行频率等。

在Keil中,选择“Options”->“Device”,然后选择目标芯片型号。

在STM32CubeIDE中,选择“Project”->“Properties”,然后选择目标芯片型号和运行频率。

配置完成后,我们需要编写代码。

在Keil中,选择“Project”->“Add New Item”,然后选择一个空白文件。

在STM32CubeIDE中,选择“File”->“New”->“Source File”,然后输入文件名。

编写代码时,我们可以使用STM32固件库提供的函数库,简化了底层驱动的编写。

编写代码的时候,我们需要定义引脚的用途和功能。

在Keil中,选择“Project”->“Manage”->“Board Selector”,然后选择目标芯片和功能。

在STM32CubeIDE中,选择“Pinout & Configuration”,然后选择功能和引脚。

接下来,我们可以测试编写的代码了。

我们可以使用串口输出、LED 闪烁等方式进行测试。

在Keil中,选择“View”->“Serial Window”,然后选择波特率和串口号。

(仅供参考)STM32F10xxx硬件开发入门

(仅供参考)STM32F10xxx硬件开发入门

STM32F10xxx硬件开发使用入门前言这份应用笔记是为系统设计者提供的,他们需要对开发板硬件实现的特性有个总体认识,如供电、时钟管理、复位控制、启动模式的设置和调试管理等。

该文档说明了STM32F10xxx系列的大容量和中容量产品使用方法,并描述了应用STM32F10xxx开发所需要的最小硬件资源。

详细的参考设计图也包含在这篇文档里,包括主要组件、接口、模式的说明。

目录1 供电 (3)1.1 简介 (3)1.1.1 独立A/D转换器供电以及参考电压 (3)1.1.2 备用电池 (3)1.1.3 电压调压器 (4)1.2 供电方案 (4)1.3 复位及电源管理 (4)1.3.1 上电复位(POR)/掉电复位(PDR) (4)1.3.2 可编程电压监测器(PVD) (5)1.3.3 系统复位 (5)2 时钟 (7)2.1 HSE时钟 (8)2.1.1 外部时钟源(HSE旁路) (8)2.1.2 外部晶体/ 陶瓷谐振器(HSE晶体) (8)2.2 LSE时钟 (8)2.2.1 外部源(LSE 旁路) (8)2.2.2 外部晶体/ 陶瓷谐振器(LSE晶体) (9)2.3 时钟输出能力 (9)2.4 时钟安全系统(CSS) (9)3 启动配置 (10)3.1 启动模式选择 (10)3.2 启动引脚连接 (10)3.3 内嵌自举模式 (10)4 调试管理 (11)4.1 简介 (11)4.2 SWJ调试端口(SERIAL WIRE和JTAG) (11)4.3 引脚分布和调试端口脚 (11)4.3.1 SWJ调试端口引脚 (11)4.3.2 灵活的SWJ-DP引脚分配 (11)4.3.3 JTAG引脚的内部上拉和下拉电阻 (12)4.3.4 与标准JTAG连接器相连的SWJ调试端口 (13)5 建议 (14)5.1 印制电路板 (14)5.2 器件位置 (14)5.3 接地和供电(V SS, V DD) (14)5.4 去耦合 (14)5.5 其它信号 (14)5.6 未用到的I/O及其特性 (15)6 参考设计 (16)6.1 描述 (16)6.1.1 时钟 (16)6.1.2 复位 (16)6.1.3 启动模式 (16)6.1.4 SWJ接口 (16)6.1.5 供电 (16)6.2 参考器件 (17)供电1.1 简介该芯片要求2.0~3.6V的操作电压(V DD),并采用嵌入式的调压器提供内部1.8V的数字电源。

STM32中文参考手册-stm32f103中文参考手册

STM32中文参考手册-stm32f103中文参考手册

STM32F10xxx参考手册参考手册小,中和大容量的STM32F101xx, STM32F102xx和STM32F103xxARM内核32位高性能微控制器导言本参考手册针对应用开发,提供关于如何使用小容量、中容量和大容量的STM32F101xx、STM32F102xx或者STM32F103xx微控制器的存储器和外设的详细信息。

在本参考手册中STM32F101xx、STM32F102xx和STM32F103xx被统称为STM32F10xxx。

STM32F10xxx系列拥有不同的存储器容量,封装和外设配置。

关于订货编号、电气和物理性能参数,请参考STM32F101xx、STM32F102xx和STM32F103xx 的数据手册。

关于芯片内部闪存的编程,擦除和保护操作,请参考STM32F10xxx闪存编程手册。

关于ARM Cortex™-M3内核的具体信息,请参考Cortex™-M3技术参考手册。

相关文档● Cortex™-M3技术参考手册,可按下述链接下载:/help/topic/com.arm.doc.ddi0337e/DDI0337E_cortex_m3_r1p1_trm.pdf下述文档可在ST网站下载(/mcu/):● STM32F101xx、STM32F102xx和STM32F103xx的数据手册。

● STM32F10xxx闪存编程手册。

* 感谢南京万利提供原始翻译文档目录1文中的缩写 161.1寄存器描述表中使用的缩写列表 161.2术语表161.3可用的外设16 2存储器和总线构架 172.1系统构架172.2存储器组织182.3存储器映像192.3.1嵌入式SRAM 202.3.2位段202.3.3嵌入式闪存 212.4启动配置23 3CRC计算单元(CRC) 253.1CRC简介253.2CRC主要特性253.3CRC功能描述253.4CRC寄存器263.4.1数据寄存器(CRC_DR) 263.4.2独立数据寄存器(CRC_IDR) 263.4.3控制寄存器(CRC_CR) 273.4.4CRC寄存器映像 27 4电源控制(PWR) 284.1电源284.1.1独立的A/D转换器供电和参考电压 284.1.2电池备份区域 294.1.3电压调节器 294.2电源管理器294.2.1上电复位(POR)和掉电复位(PDR) 294.2.2可编程电压监测器(PVD) 304.3低功耗模式304.3.1降低系统时钟 314.3.2外部时钟的控制 314.3.3睡眠模式 314.3.4停止模式 324.3.5待机模式 334.3.6低功耗模式下的自动唤醒(AWU) 344.4电源控制寄存器 354.4.1电源控制寄存器(PWR_CR) 354.4.2电源控制/状态寄存器 364.4.3PWR寄存器地址映像 37 5备份寄存器(BKP) 385.1BKP简介385.2BKP特性385.3BKP功能描述385.3.1侵入检测 385.3.2RTC校准 395.4BKP寄存器描述 395.4.1备份数据寄存器x(BKP_DRx) (x = 1 … 10) 395.4.2RTC时钟校准寄存器(BKP_RTCCR) 395.4.3备份控制寄存器(BKP_CR) 405.4.4备份控制/状态寄存器(BKP_CSR) 405.4.5BKP寄存器映像 42 6复位和时钟控制(RCC) 456.1复位456.1.1系统复位 456.1.2电源复位 456.1.3备份域复位 466.2时钟466.2.1HSE时钟 486.2.2HSI时钟 486.2.3PLL 496.2.4LSE时钟 496.2.5LSI时钟496.2.6系统时钟(SYSCLK)选择 506.2.7时钟安全系统(CSS) 506.2.8RTC时钟 506.2.9看门狗时钟 506.2.10时钟输出 506.3RCC寄存器描述 516.3.1时钟控制寄存器(RCC_CR) 516.3.2时钟配置寄存器(RCC_CFGR) 526.3.3时钟中断寄存器 (RCC_CIR) 546.3.4APB2外设复位寄存器 (RCC_APB2RSTR) 566.3.5APB1外设复位寄存器 (RCC_APB1RSTR) 586.3.6AHB外设时钟使能寄存器 (RCC_AHBENR) 606.3.7APB2外设时钟使能寄存器(RCC_APB2ENR) 616.3.8APB1外设时钟使能寄存器(RCC_APB1ENR) 626.3.9备份域控制寄存器 (RCC_BDCR) 656.3.10控制/状态寄存器 (RCC_CSR) 666.3.11RCC寄存器地址映像 68 7通用和复用功能I/O(GPIO和AFIO) 697.1GPIO功能描述697.1.1通用I/O(GPIO) 707.1.2单独的位设置或位清除 717.1.3外部中断/唤醒线 717.1.4复用功能(AF) 717.1.5软件重新映射I/O复用功能 717.1.6GPIO锁定机制 717.1.7输入配置 717.1.8输出配置 727.1.9复用功能配置 737.1.10模拟输入配置 737.2GPIO寄存器描述 757.2.1端口配置低寄存器(GPIOx_CRL) (x=A..E) 757.2.2端口配置高寄存器(GPIOx_CRH) (x=A..E) 757.2.3端口输入数据寄存器(GPIOx_IDR) (x=A..E) 767.2.4端口输出数据寄存器(GPIOx_ODR) (x=A..E) 767.2.5端口位设置/清除寄存器(GPIOx_BSRR) (x=A..E) 777.2.6端口位清除寄存器(GPIOx_BRR) (x=A..E) 777.2.7端口配置锁定寄存器(GPIOx_LCKR) (x=A..E) 777.3复用功能I/O和调试配置(AFIO) 787.3.1把OSC32_IN/OSC32_OUT作为GPIO 端口PC14/PC15 787.3.2把OSC_IN/OSC_OUT引脚作为GPIO端口PD0/PD1 787.3.3CAN复用功能重映射 797.3.4JTAG/SWD复用功能重映射 797.3.5ADC复用功能重映射 807.3.6定时器复用功能重映射 807.3.7USART复用功能重映射 817.3.8I2C 1 复用功能重映射 827.3.9SPI 1复用功能重映射 827.4AFIO寄存器描述 837.4.1事件控制寄存器(AFIO_EVCR) 837.4.2复用重映射和调试I/O配置寄存器(AFIO_MAPR) 837.4.3外部中断配置寄存器1(AFIO_EXTICR1) 867.4.4外部中断配置寄存器2(AFIO_EXTICR2) 867.4.5外部中断配置寄存器3(AFIO_EXTICR3) 877.4.6外部中断配置寄存器4(AFIO_EXTICR4) 877.5GPIO 和AFIO寄存器地址映象 88 8中断和事件 898.1嵌套向量中断控制器 898.1.1系统嘀嗒(SysTick)校准值寄存器 898.1.2中断和异常向量 898.2外部中断/事件控制器(EXTI) 918.2.1主要特性 918.2.2框图928.2.3唤醒事件管理 928.2.4功能说明 928.2.5外部中断/事件线路映像 948.3EXTI 寄存器描述 958.3.1中断屏蔽寄存器(EXTI_IMR) 958.3.2事件屏蔽寄存器(EXTI_EMR) 958.3.3上升沿触发选择寄存器(EXTI_RTSR) 968.3.4下降沿触发选择寄存器(EXTI_FTSR) 968.3.5软件中断事件寄存器(EXTI_SWIER) 978.3.6挂起寄存器(EXTI_PR) 978.3.7外部中断/事件寄存器映像 98 9DMA 控制器(DMA) 999.1DMA简介999.2DMA主要特性999.3功能描述1009.3.1DMA处理 1009.3.2仲裁器1009.3.3DMA 通道 1019.3.4可编程的数据传输宽度,对齐方式和数据大小端 1029.3.5错误管理 1039.3.6中断1039.3.7DMA请求映像 1049.4DMA寄存器1079.4.1DMA中断状态寄存器(DMA_ISR) 1079.4.2DMA中断标志清除寄存器(DMA_IFCR) 1089.4.3DMA通道x配置寄存器(DMA_CCRx)(x = 1…7) 1089.4.4DMA通道x传输数量寄存器(DMA_CNDTRx)(x = 1…7) 1109.4.5DMA通道x外设地址寄存器(DMA_CPARx)(x = 1…7) 1109.4.6DMA通道x存储器地址寄存器(DMA_CPARx)(x = 1…7) 1109.4.7DMA寄存器映像 111 10模拟/数字转换(ADC) 11310.1ADC介绍11310.2ADC主要特征11310.3ADC功能描述11410.3.1ADC开关控制 11510.3.2ADC时钟 11510.3.3通道选择 11510.3.4单次转换模式 11510.3.5连续转换模式 11610.3.6时序图11610.3.7模拟看门狗 11610.3.8扫描模式 11710.3.9注入通道管理 11710.3.10间断模式 11810.4校准11910.5数据对齐11910.6可编程的通道采样时间 12010.7外部触发转换12010.8DMA请求12110.9双ADC模式12110.9.1同步注入模式 12210.9.2同步规则模式 12310.9.3快速交替模式 12310.9.4慢速交替模式 12410.9.5交替触发模式 12410.9.6独立模式 12510.9.7混合的规则/注入同步模式 12510.9.8混合的同步规则+交替触发模式 12510.9.9混合同步注入+交替模式 12610.10温度传感器12610.11ADC中断12710.12ADC寄存器描述 12810.12.1ADC状态寄存器(ADC_SR) 12810.12.2ADC控制寄存器1(ADC_CR1) 12910.12.3ADC控制寄存器2(ADC_CR2) 13110.12.4ADC采样时间寄存器1(ADC_SMPR1) 13310.12.5ADC采样时间寄存器2(ADC_SMPR2) 13310.12.6ADC注入通道数据偏移寄存器x (ADC_JOFRx)(x=1..4) 13410.12.7ADC看门狗高阀值寄存器(ADC_HTR) 13410.12.8ADC看门狗低阀值寄存器(ADC_LRT) 13410.12.9ADC规则序列寄存器1(ADC_SQR1) 13510.12.10ADC规则序列寄存器2(ADC_SQR2) 13510.12.11ADC规则序列寄存器3(ADC_SQR3) 13610.12.12ADC注入序列寄存器(ADC_JSQR) 13610.12.13ADC 注入数据寄存器x (ADC_JDRx) (x= 1..4) 13710.12.14ADC规则数据寄存器(ADC_DR) 13710.12.15ADC寄存器地址映像 138 11数字/模拟转换(DAC) 14011.1DAC简介14011.2DAC主要特征14011.3DAC功能描述14111.3.1使能DAC通道 14111.3.2使能DAC输出缓存 14111.3.3DAC数据格式 14211.3.4DAC转换 14211.3.5DAC输出电压 14311.3.6选择DAC触发 14311.3.7DMA请求 14411.3.8噪声生成 14411.3.9三角波生成 14511.4双DAC通道转换 14511.4.1无波形生成的独立触发 14511.4.2带相同LFSR生成的独立触发 14611.4.3带不同LFSR生成的独立触发 14611.4.4带相同三角波生成的独立触发 14611.4.5带不同三角波生成的独立触发 14611.4.6同时软件启动 14711.4.7不带波形生成的同时触发 14711.4.8带相同LFSR生成的同时触发 14711.4.9带不同LFSR生成的同时触发 14711.4.10带相同三角波生成的同时触发 14711.4.11带不同三角波生成的同时触发 14811.5DAC寄存器14911.5.1DAC控制寄存器(DAC_CR) 14911.5.2DAC软件触发寄存器(DAC_SWTRIGR) 15111.5.3DAC通道1的12位右对齐数据保持寄存器(DAC_DHR12R1) 15211.5.4DAC通道1的12位左对齐数据保持寄存器(DAC_DHR12L1) 15211.5.5DAC通道1的8位右对齐数据保持寄存器(DAC_DHR8R1) 15211.5.6DAC通道2的12位右对齐数据保持寄存器(DAC_DHR12R2) 15311.5.7DAC通道2的12位左对齐数据保持寄存器(DAC_DHR12L2) 15311.5.8DAC通道2的8位右对齐数据保持寄存器(DAC_DHR8R2) 15311.5.9双DAC的12位右对齐数据保持寄存器(DAC_DHR12RD) 15411.5.10双DAC的12位左对齐数据保持寄存器(DAC_DHR12LD) 15411.5.11双DAC的8位右对齐数据保持寄存器(DAC_DHR8RD) 15411.5.12DAC通道1数据输出寄存器(DAC_DOR1) 15511.5.13DAC通道2数据输出寄存器(DAC_DOR2) 15511.5.14DAC寄存器映像 156 12高级控制定时器(TIM1和TIM8) 15712.1TIM1和TIM8简介 15712.2TIM1和TIM8主要特性 15712.3TIM1和TIM8功能描述 15812.3.1时基单元 15812.3.2计数器模式 16012.3.3重复计数器 16712.3.4时钟选择 16812.3.5捕获/比较通道 17112.3.6输入捕获模式 17312.3.7PWM输入模式 17412.3.8强置输出模式 17412.3.9输出比较模式 17512.3.10PWM模式 17612.3.11互补输出和死区插入 17812.3.12使用刹车功能 17912.3.13在外部事件时清除OCxREF信号 18012.3.14产生六步PWM输出 18112.3.15单脉冲模式 18212.3.16编码器接口模式 18312.3.17定时器输入异或功能 18512.3.18与霍尔传感器的接口 18512.3.19TIMx定时器和外部触发的同步 18712.3.20定时器同步 19012.3.21调试模式 19012.4TIM1和TIM8寄存器描述 19112.4.1控制寄存器1(TIMx_CR1) 19112.4.2控制寄存器2(TIMx_CR2) 19212.4.3从模式控制寄存器(TIMx_SMCR) 19312.4.4DMA/中断使能寄存器(TIMx_DIER) 19512.4.5状态寄存器(TIMx_SR) 19612.4.6事件产生寄存器(TIMx_EGR) 19712.4.7捕获/比较模式寄存器1(TIMx_CCMR1) 19812.4.8捕获/比较模式寄存器2(TIMx_CCMR2) 20012.4.9捕获/比较使能寄存器(TIMx_CCER) 20212.4.10计数器(TIMx_CNT) 20312.4.11预分频器(TIMx_PSC) 20412.4.12自动重装载寄存器(TIMx_ARR) 20412.4.13重复计数寄存器(TIMx_RCR) 20412.4.14捕获/比较寄存器1(TIMx_CCR1) 20512.4.15捕获/比较寄存器2(TIMx_CCR2) 20512.4.16捕获/比较寄存器3(TIMx_CCR3) 20512.4.17捕获/比较寄存器(TIMx_CCR4) 20612.4.18刹车和死区寄存器(TIMx_BDTR) 20612.4.19DMA控制寄存器(TIMx_DCR) 20812.4.20连续模式的DMA地址(TIMx_DMAR) 20812.4.21TIM1和TIM8寄存器图 209 13通用定时器(TIMx) 21113.1TIMx简介21113.2TIMx主要功能21113.3TIMx功能描述21213.3.1时基单元 21213.3.2计数器模式 21313.3.3时钟选择 22113.3.4捕获/比较通道 22313.3.5输入捕获模式 22513.3.6PWM输入模式 22513.3.7强置输出模式 22613.3.8输出比较模式 22613.3.9PWM 模式 22713.3.10单脉冲模式 22913.3.11在外部事件时清除OCxREF信号 23113.3.12编码器接口模式 23113.3.13定时器输入异或功能 23313.3.14定时器和外部触发的同步 23313.3.15定时器同步 23513.3.16调试模式 23913.4TIMx寄存器描述 24013.4.1控制寄存器1(TIMx_CR1) 24013.4.2控制寄存器2(TIMx_CR2) 24113.4.3从模式控制寄存器(TIMx_SMCR) 24213.4.4DMA/中断使能寄存器(TIMx_DIER) 24313.4.5状态寄存器(TIMx_SR) 24413.4.6事件产生寄存器(TIMx_EGR) 24513.4.7捕获/比较模式寄存器1(TIMx_CCMR1) 24613.4.8捕获/比较模式寄存器2(TIMx_CCMR2) 24913.4.9捕获/比较使能寄存器(TIMx_CCER) 25113.4.10计数器(TIMx_CNT) 25213.4.11预分频器(TIMx_PSC) 25213.4.12自动重装载寄存器(TIMx_ARR) 25213.4.13捕获/比较寄存器1(TIMx_CCR1) 25213.4.14捕获/比较寄存器2(TIMx_CCR2) 25313.4.15捕获/比较寄存器3(TIMx_CCR3) 25313.4.16捕获/比较寄存器4(TIMx_CCR4) 25313.4.17DMA控制寄存器(TIMx_DCR) 25413.4.18连续模式的DMA地址(TIMx_DMAR) 25413.4.19TIMx寄存器图 255 14基本定时器(TIM6和TIM7) 25714.1TIM6和TIM7简介 25714.2TIM6和TIM7的主要特性 25714.3TIM6和TIM7的功能 25814.3.1时基单元 25814.3.2计数模式 25914.3.3时钟源26114.3.4调试模式 26214.4TIM6和TIM7寄存器 26214.4.1控制寄存器1(TIMx_CR1) 26214.4.2控制寄存器2(TIMx_CR2) 26314.4.3DMA/中断使能寄存器(TIMx_DIER) 26314.4.4状态寄存器(TIMx_SR) 26414.4.5事件产生寄存器(TIMx_EGR) 26414.4.6计数器(TIMx_CNT) 26414.4.7预分频器(TIMx_PSC) 26514.4.8自动重装载寄存器(TIMx_ARR) 26514.4.9TIM6和TIM7寄存器图 266 15实时时钟(RTC) 26715.1RTC简介26715.2主要特性26715.3功能描述26715.3.1概述26715.3.2复位过程 26815.3.3读RTC寄存器 26815.3.4配置RTC寄存器 26915.3.5RTC标志的设置 26915.4RTC寄存器描述 27015.4.1RTC控制寄存器高位(RTC_CRH) 27015.4.2RTC控制寄存器低位(RTC_CRL) 27015.4.3RTC预分频装载寄存器(RTC_PRLH/RTC_PRLL) 27115.4.4RTC预分频器余数寄存器(RTC_DIVH / RTC_DIVL) 27215.4.5RTC计数器寄存器 (RTC_CNTH / RTC_CNTL) 27215.4.6RTC闹钟寄存器(RTC_ALRH/RTC_ALRL) 27315.4.7RTC寄存器映像 275 16独立看门狗(IWDG) 27616.1简介27616.2IWDG主要性能27616.3IWDG功能描述27616.3.1硬件看门狗 27616.3.2寄存器访问保护 27616.3.3调试模式 27616.4IWDG寄存器描述 27716.4.1键寄存器(IWDG_KR) 27716.4.2预分频寄存器(IWDG_PR) 27816.4.3重装载寄存器(IWDG_RLR) 27816.4.4状态寄存器(IWDG_SR) 27916.4.5IWDG寄存器映像 279 17窗口看门狗(WWDG) 28017.1WWDG简介28017.2WWDG主要特性 28017.3WWDG功能描述 28017.4如何编写看门狗超时程序 28117.5调试模式28217.6寄存器描述28217.6.1控制寄存器(WWDG_CR) 28217.6.2配置寄存器(WWDG_CFR) 28317.6.3状态寄存器(WWDG_SR) 28317.6.4WWDG寄存器映像 284 18灵活的静态存储器控制器(FSMC) 28518.1FSMC功能描述28518.2框图28518.3AHB接口28618.3.1支持的存储器和操作 28618.4外部设备地址映像 28718.4.1NOR和PSRAM地址映像 28818.4.2NAND和PC卡地址映像 28818.5NOR闪存和PSRAM控制器 28918.5.1外部存储器接口信号 29018.5.2支持的存储器及其操作 29118.5.3时序规则 29118.5.4NOR闪存和PSRAM时序图 29118.5.5同步的成组读 30418.5.6NOR闪存和PSRAM控制器寄存器 30818.6NAND闪存和PC卡控制器 31318.6.1外部存储器接口信号 31318.6.2NAND闪存/PC卡支持的存储器及其操作 31418.6.3NAND闪存、ATA和PC卡时序图 31418.6.4NAND闪存操作 31518.6.5NAND闪存预等待功能 31618.6.6NAND闪存的纠错码ECC计算(NAND闪存) 31718.6.7NAND闪存和PC卡控制器寄存器 31718.7FSMC寄存器地址映象 324 19SDIO接口(SDIO) 32519.1SDIO主要功能32519.2SDIO总线拓扑32519.3SDIO功能描述32819.3.1SDIO适配器 32919.3.2SDIO AHB接口 33619.4卡功能描述33619.4.1卡识别模式 33619.4.2卡复位33619.4.3操作电压范围确认 33719.4.4卡识别过程 33719.4.5写数据块 33819.4.6读数据块 33819.4.7数据流操作,数据流写入和数据流读出(只适用于多媒体卡) 33819.4.8擦除:成组擦除和扇区擦除 33919.4.9宽总线选择和解除选择 34019.4.10保护管理 34019.4.11卡状态寄存器 34219.4.12SD状态寄存器 34419.4.13SD I/O模式 34719.4.14命令与响应 34819.5响应格式35019.5.1R1(普通响应命令) 35119.5.2R1b 35119.5.3R2(CID、CSD寄存器) 35119.5.4R3(OCR寄存器) 35119.5.5R4(快速I/O) 35219.5.6R4b 35219.5.7R5(中断请求) 35219.5.8R6(中断请求) 35319.6SDIO I/O卡特定的操作 35319.6.1使用SDIO_D2信号线的SDIO I/O读等待操作 35319.6.2使用停止SDIO_CK的SDIO读等待操作 35319.6.3SDIO暂停/恢复操作 35419.6.4SDIO中断 35419.7CE-ATA特定操作 35419.7.1命令完成指示关闭 35419.7.2命令完成指示使能 35419.7.3CE-ATA中断 35419.7.4中止CMD61 35419.8硬件流控制35419.9SDIO寄存器35519.9.1SDIO电源控制寄存器(SDIO_POWER) 35519.9.2SDIO时钟控制寄存器(SDIO_CLKCR) 35519.9.3SDIO参数寄存器(SDIO_ARG) 35619.9.4SDIO命令寄存器(SDIO_CMD) 35619.9.5SDIO命令响应寄存器(SDIO_RESPCMD) 35719.9.6SDIO响应1..4寄存器(SDIO_RESPx) 35719.9.7SDIO数据定时器寄存器(SDIO_DTIMER) 35819.9.8SDIO数据长度寄存器(SDIO_DLEN) 35819.9.9SDIO数据控制寄存器(SDIO_DCTRL) 35819.9.10SDIO数据计数器寄存器(SDIO_DCOUNT) 36019.9.11SDIO状态寄存器(SDIO_STA) 36019.9.12SDIO清除中断寄存器(SDIO_ICR) 36119.9.13SDIO中断屏蔽寄存器(SDIO_MASK) 36219.9.14SDIO FIFO计数器寄存器(SDIO_FIFOCNT) 36419.9.15SDIO数据FIFO寄存器(SDIO_FIFO) 36419.9.16SDIO寄存器映像 365 20USB全速设备接口(USB) 36620.1USB简介36620.2USB主要特征36620.3USB功能描述36720.3.1USB功能模块描述 36820.4编程中需要考虑的问题 36920.4.1通用USB设备编程 36920.4.2系统复位和上电复位 36920.4.3双缓冲端点 37220.4.4同步传输 37320.4.5挂起/恢复事件 37420.5USB寄存器描述 37520.5.1通用寄存器 37520.5.2端点寄存器 38020.5.3缓冲区描述表 38220.5.4USB寄存器映像 385 21控制器局域网(bxCAN) 38721.1bxCAN简介38721.2bxCAN主要特点 38721.2.1总体描述 38821.3bxCAN工作模式 38921.3.1初始化模式 39021.3.2正常模式 39021.3.3睡眠模式(低功耗) 39021.3.4测试模式 39021.3.5静默模式 39021.3.6环回模式 39121.3.7环回静默模式 39121.4bxCAN功能描述 39221.4.1发送处理 39221.4.2时间触发通信模式 39321.4.3接收管理 39321.4.4标识符过滤 39521.4.5报文存储 39821.4.6出错管理 39921.4.7位时间特性 40021.5bxCAN中断40221.6CAN 寄存器描述 40321.6.1寄存器访问保护 40321.6.2控制和状态寄存器 40321.6.3邮箱寄存器 41121.6.4CAN过滤器寄存器 41521.6.5bxCAN寄存器列表 419 22串行外设接口(SPI) 42222.1SPI简介42222.2SPI和I2S主要特征 42222.2.1SPI特征42222.2.2I2S功能42322.3SPI功能描述42422.3.1概述42422.3.2SPI从模式 42622.3.3SPI主模式 42722.3.4单工通信 42822.3.5状态标志 42822.3.6CRC计算 42922.3.7利用DMA的SPI通信 42922.3.8错误标志 43022.3.9关闭SPI 43022.3.10SPI中断43022.4I2S功能描述43122.4.1I2S功能描述 43122.4.2支持的音频协议 43222.4.3时钟发生器 43722.4.4I2S主模式 43822.4.5I2S从模式 43922.4.6状态标志位 44022.4.7错误标志位 44122.4.8I2S中断44122.4.9DMA功能 44122.5SPI和I2S寄存器描述 44222.5.1SPI控制寄存器1(SPI_CR1)(I2S模式下不使用) 44222.5.2SPI控制寄存器2(SPI_CR2) 44322.5.3SPI 状态寄存器(SPI_SR) 44422.5.4SPI 数据寄存器(SPI_DR) 44522.5.5SPI CRC多项式寄存器(SPI_CRCPR) 44622.5.6SPI Rx CRC寄存器(SPI_RXCRCR) 44622.5.7SPI Tx CRC寄存器(SPI_TXCRCR) 44622.5.8SPI_I2S配置寄存器(SPI_I2S_CFGR) 44722.5.9SPI_I2S预分频寄存器(SPI_I2SPR) 44822.5.10SPI 寄存器地址映象 449 23I2C接口45023.1I2C简介45023.2I2C主要特点45023.3I2C功能描述45123.3.1模式选择 45123.3.2I2C从模式 45223.3.3I2C主模式 45423.3.4错误条件 45623.3.5SDA/SCL线控制 45723.3.6SMBus 45723.3.7DMA请求 45923.3.8包错误校验(PEC) 46023.4I2C中断请求46123.5I2C调试模式46223.6I2C寄存器描述46223.6.1控制寄存器1(I2C_CR1) 46223.6.2控制寄存器2(I2C_CR2) 46423.6.3自身地址寄存器1(I2C_OAR1) 46523.6.4自身地址寄存器2(I2C_OAR2) 46523.6.5数据寄存器(I2C_DR) 46523.6.6状态寄存器1(I2C_SR1) 46623.6.7状态寄存器2 (I2C_SR2) 46823.6.8时钟控制寄存器(I2C_CCR) 46923.6.9TRISE寄存器(I2C_TRISE) 47023.6.10I2C寄存器地址映象 471 24通用同步异步收发器(USART) 47224.1USART介绍47224.2USART主要特性 47224.3USART功能概述 47324.3.1USART 特性描述 47424.3.2发送器47524.3.3接收器47724.3.4分数波特率的产生 48024.3.5多处理器通信 48124.3.6校验控制 48224.3.7LIN(局域互联网)模式 48324.3.8USART 同步模式 48524.3.9单线半双工通信 48724.3.10智能卡48724.3.11IrDA SIR ENDEC 功能块 48824.3.12利用DMA连续通信 49024.3.13硬件流控制 49124.4USART中断请求 49224.5USART模式配置 49324.6USART寄存器描述 49424.6.1状态寄存器(USART_SR) 49424.6.2数据寄存器(USART_DR) 49524.6.3波特比率寄存器(USART_BRR) 49624.6.4控制寄存器1(USART_CR1) 49624.6.5控制寄存器2(USART_CR2) 49824.6.6控制寄存器3(USART_CR3) 49924.6.7保护时间和预分频寄存器(USART_GTPR) 50124.6.8USART寄存器地址映象 502 25器件电子签名 50325.1存储器容量寄存器 50325.1.1闪存容量寄存器 50325.2产品唯一身份标识寄存器(96位) 503 26调试支持(DBG) 50526.1概况50526.2ARM参考文献50626.3SWJ调试端口(serial wire and JTAG) 50626.3.1JTAG-DP和SW-DP切换的机制 50726.4引脚分布和调试端口脚 50726.4.1SWJ调试端口脚 50726.4.2灵活的SWJ-DP脚分配 50726.4.3JTAG脚上的内部上拉和下拉 50826.4.4利用串行接口并释放不用的调试脚作为普通I/O口 50826.5STM32F10xxx JTAG TAP 连接 50926.6ID 代码和锁定机制 50926.6.1微控制器设备ID编码 50926.6.2边界扫描TAP 51026.6.3Cortex-M3 TAP 51026.6.4Cortex-M3 JEDEC-106 ID代码 51126.7JTAG调试端口51126.8SW调试端口51226.8.1SW协议介绍 51226.8.2SW协议序列 51226.8.3SW-DP状态机(Reset, idle states, ID code) 51326.8.4DP和AP读/写访问 51326.8.5SW-DP寄存器 51326.8.6SW-AP寄存器 514 26.9对于JTAG-DP或SWDP都有效的AHB-AP (AHB 访问端口) 514 26.10内核调试515 26.11调试器主机在系统复位下的连接能力 515 26.12FPB (Flash patch breakpoint) 515 26.13DWT(data watchpoint trigger) 516 26.14ITM (instrumentation trace macrocell) 51626.14.1概述51626.14.2时间戳包,同步和溢出包 516 26.15MCU调试模块(MCUDBG) 51726.15.1低功耗模式的调试支持 51726.15.2支持定时器、看门狗、bxCAN和I2C的调试 51826.15.3调试MCU配置寄存器 518 26.16TPIU (trace port interface unit) 52026.16.1导言52026.16.2跟踪引脚分配 52026.16.3TPUI格式器 52226.16.4TPUI帧异步包 52226.16.5同步帧包的发送 52226.16.6同步模式 52226.16.7异步模式 52326.16.8TRACECLKIN在STM32F10xxx内部的连接 52326.16.9TPIU寄存器 52326.16.10配置的例子 524 26.17DBG寄存器地址映象 5241 文中的缩写1.1 寄存器描述表中使用的缩写列表在对寄存器的描述中使用了下列缩写:read / write (rw) 软件能读写此位。

stm32f1 标准例程

stm32f1 标准例程

stm32f1 标准例程一、概述STM32F1是一款广泛应用于嵌入式系统开发的32位ARMCortex-M 内核微控制器。

标准例程是用于帮助初学者快速了解和掌握STM32F1的基本操作和功能的应用程序。

本例程旨在通过一系列简单的示例程序,帮助读者熟悉STM32F1的基本开发流程和常用功能。

二、开发环境设置1.安装KeiluVision开发环境,并配置相应的编译器和调试器。

2.下载STM32F1的固件库,并将其添加到KeiluVision项目中。

三、标准例程内容以下是一个简单的STM32F1标准例程程序,包含了LED灯的控制、按键输入、串口通信等功能:```c#include"stm32f10x.h"#include"stm32f1_system.h"#include"stm32f1_gpio.h"#include"stm32f1_rcc.h"#include"stm32f1_usart.h"#include"stm32f1_dma.h"//初始化GPIO和USART外设voidinit_peripherals(){GPIO_InitTypeDefGPIO_InitStruct;USART_InitTypeDefUSART_InitStruct;RCC_AHB1PeriphClockCmd(RCC_AHB1Periph_GPIOA|RCC_AHB1Perip h_USART2,ENABLE);GPIO_InitStruct.GPIO_Pin=GPIO_Pin_0|GPIO_Pin_1;//设置LED 灯和按键引脚为输出GPIO_InitStruct.GPIO_Mode=GPIO_Mode_OUT;GPIO_InitStruct.GPIO_Speed=GPIO_Speed_50MHz;GPIO_Init(GPIOA,&GPIO_InitStruct);USART_ART_BaudRate=9600;//设置串口波特率为9600USART_ART_WordLength=USART_WordLength_8b;//8位数据位USART_ART_StopBits=USART_StopBits_1;//1个停止位USART_ART_Parity=USART_Parity_No;//无奇偶校验位USART_ART_HardwareFlowControl=USART_Hardware FlowControl_None;//不使用硬件流控制USART_Init(USART2,&USART_InitStruct);}//按键中断处理函数voidUSART2_IRQHandler(){if(USART_GetITStatus(USART2,USART_IT_RXNE)!=RESET){//接收到数据中断//处理接收到的数据,例如通过按键值来判断用户操作switch(KEYB){caseKEYB_POWER://开关机键值定义,这里仅为示例if(ONOFF==0){//机器已开机状态检查ONOFF=1;//开启电源开关,机器开机启动LED灯闪烁}else{//机器已关机状态检查,关闭电源开关并关闭LED灯ONOFF=0;}break;default:break;//其他按键暂不处理,保留为默认值不发送回设备}USART_SendData(USART2,KEYB);//将按键值发送回设备,这里仅为示例发送一个按键值给设备进行反馈操作结果KEYB=KEYB&KEYB+1;//重置按键值计数器,保留不产生误触按按键的行为需求。

STM32入门基本知识

STM32入门基本知识

STM32学前班教程之一:选择他的理由经过几天的学习,基本掌握了STM32的调试环境和一些基本知识。

想拿出来与大家共享,笨教程本着最大限度简化删减STM32入门的过程的思想,会把我的整个入门前的工作推荐给大家。

就算是给网上的众多教程、笔记的一种补充吧,所以叫学前班教程。

其中涉及产品一律隐去来源和品牌,以防广告之嫌。

全部汉字内容为个人笔记。

所有相关参考资料也全部列出。

:lol教程会分几篇,因为太长啦。

今天先来说说为什么是它——我选择STM32的原因。

我对未来的规划是以功能性为主的,在功能和面积之间做以平衡是我的首要选择,而把运算放在第二位,这根我的专业有关系。

里面的运算其实并不复杂,在入门阶段想尽量减少所接触的东西。

不过说实话,对DSP的外设并和开发环境不满意,这是为什么STM32一出就转向的原因。

下面是我自己做过的两块DSP28的全功能最小系统板,在做这两块板子的过程中发现要想尽力缩小DSP的面积实在不容易(目前只能达到50mm×45mm,这还是没有其他器件的情况下),尤其是双电源的供电方式和1.9V的电源让人很头疼。

后来因为一个项目,接触了LPC2148并做了一块板子,发现小型的ARM7在外设够用的情况下其实很不错,于是开始搜集相关芯片资料,也同时对小面积的A VR和51都进行了大致的比较,这个时候发现了CortexM3的STM32,比2148拥有更丰富和灵活的外设,性能几乎是2148两倍(按照MIPS值计算)。

正好2148我还没上手,就直接转了这款STM32F103。

与2811相比较(核心1.8V供电情况下),135MHz×1MIPS。

现在用STM32F103,72MHz×1.25MIPS,性能是DSP的66%,STM32F103R型(64管脚)芯片面积只有2811的51%,STM32F103C型(48管脚)面积是2811的25%,最大功耗是DSP的20%,单片价格是DSP的30%。

STM32闪存编程手册

STM32闪存编程手册

页2/21
术语
下面列出了本文档中所用到的术语和缩写的简要说明:
z 小容量产品是指闪存存储器容量在16K~32K字节之间的STM32F101xx,STM32F102xx和 STM32F103xx微控制器产品。
z 中容量产品是指闪存存储器容量在64K~128K字节之间的STM32F101xx,STM32F102xx 和STM32F103xx微控制器产品。
PM0042 编程手册
STM32F10xxx闪存编程
简介
本编程手册介绍了如何烧写STM32F101xx、STM32F102xx和STM32F103xx微控制器的闪存存 储器。为方便起见,在本文中出特别说明外,统称它们为STM32F10xxx。 STM32F10xxx内嵌的闪存存储器可以用于在线编程(ICP)或在程序中编程(IAP)烧写。 在线编程(In-Circuit Programming – ICP)方式用于更新闪存存储器的全部内容,它通过JTAG、 SWD协议或系统加载程序(Bootloader)下载用户应用程序到微控制器中。ICP是一种快速有效的 编程方法,消除了封装和管座的困扰。 与ICP方式对应,在程序中编程(In-Application Programming – IAP)可以使用微控制器支持的任 一种通信接口(如I/O端口、USB、CAN、UART、I2C、SPI等)下载程序或数据到存储器中。IAP 允许用户在程序运行时重新烧写闪存存储器中的内容。然而,IAP要求至少有一部分程序已经 使用ICP烧到闪存存储器中。 闪存接口是在AHB协议上实现了对指令和数据的访问,它通过对存储器的预取缓存,加快了存 储器的访问;闪存接口还实现了在所有工作电压下对闪存编程和擦除所需的逻辑电路,这里还 包括访问和写入保护以及选项字节的控制。

stm32开发方法和总结

stm32开发方法和总结

stm32开发方法和总结STM32是一款广泛应用于嵌入式系统开发的微控制器系列,采用了ARM Cortex-M内核。

对于初学者来说,了解STM32的开发方法以及总结是非常重要的。

本文将介绍STM32的开发方法,并总结一些关键要点。

一、STM32开发方法1. 硬件准备:首先需要准备一块STM32开发板,如STM32F103C8T6等,并确保具备基本的硬件连接,如电源、串口等。

2. 开发环境搭建:安装并配置开发环境,包括Keil MDK(or IAR Embedded Workbench)、ST-Link驱动、STM32CubeMX等。

Keil MDK是一款常用的开发工具,提供了编译、调试等功能。

ST-Link驱动用于与开发板进行连接。

STM32CubeMX是一款图形化配置工具,可帮助生成初始化代码。

3. 项目创建:使用Keil MDK创建一个新的STM32项目,选择适当的MCU型号,并配置相关参数,如时钟源、GPIO、UART等。

可以通过STM32CubeMX生成初始化代码,并导入到Keil MDK 中。

4. 编写代码:根据项目需求,编写相应的C代码。

可以使用C语言编程,也可以使用汇编语言。

在代码中,可以调用STM32提供的库函数,如GPIO库、UART库等,简化开发过程。

5. 编译与下载:使用Keil MDK编译生成可执行文件,然后通过ST-Link将可执行文件下载到开发板中。

在下载之前,需要确保开发板与计算机通过USB连接,并正确配置ST-Link。

6. 调试与测试:下载完成后,可以通过Keil MDK进行调试,单步执行代码,观察变量的值和程序的执行情况。

可以使用断点、观察窗口等功能进行调试。

同时,可以通过串口输出调试信息,方便查看程序的运行状态。

7. 优化与测试:完成基本功能后,可以进行性能优化和功能测试。

可以使用性能分析工具,如Ozone、Percepio Tracealyzer等,进行性能分析和调优。

STM32F10xxx全速USB设备开发套件用户手册

STM32F10xxx全速USB设备开发套件用户手册

STM32F10xxx全速USB设备开发套件用户手册孙旭朋译简介STM32全速USB设备开发套件是一个完整的固件和软件开发包,包括例子和演示所有USB传输类型(控制,中断,批量和同步)。

它支持所有的STM32微控制器系列。

STM32全速USB设备开发套件旨在让每个USB传输类型的设备库至少有一个固件演示程序。

该文件提出了一个描述的STM32全速USB设备的所有组件的开发工具包,包括:■STM32 USB-FS设备库:默认端点和标准请求有关的所有进程■设备固件升级(DFU)演示:控制传输■操纵杆鼠标演示:中断传输■自定义HID演示:中断传输■大容量存储演示:批量传输■虚拟COM端口演示:中断和批量传输■USB音频扬声器演示(USB扬声器):同步传输■USB音频流演示:同步传输表1:使用产品类型产品子类微控制器STM32 F1主流产品STM32 L1超低功耗产品目录简介 0目录 (1)1 STM32微控制器系列综述 (3)2 STM32 USB-FS-设备固件库 (3)2.1 USB应用层次 (4)2.2 USB-FS设备外围接口 (5)2.3 OTG-FS 设备外围接口 (10)2.4 USB-FS设备驱动程序介质层 (13)2.5应用程序接口 (17)2.6使用STM32 USB-FS-设备库实现USB-FS设备应用程序。

(21)3操纵杆鼠标例程 (23)3.1描述 (23)3.2 STM32在挂起模式下的低功耗管理 (24)3.3远程唤醒 (24)4自定义HID例程 (25)4.1描述 (25)4.2描述符的拓扑结构 (25)4.3自定义HID的实现 (26)5大容量存储例程 (27)5.1描述 (27)5.2大容量存储例程概述 (28)5.3大容量存储设备协议 (29)5.4大容量存储例程的实现 (32)5.5如何自定义大容量存储范例 (37)6 虚拟COM端口例程 (40)6.1描述 (40)6.2虚拟COM端口范例方案 (40)6.3软件驱动程序的安装 (41)6.4 实现 (42)7 USB音频扬声器例程 (43)7.1描述 (43)7.2同步传输综述 (43)7.3音频设备类综述 (44)7.4 STM32 USB扬声器范例 (45)8 USB音频流例程 (54)8.1概述 (54)8.2 STM32 USB音频流例程 (55)1 STM32微控制器系列综述在此文件中,STM32是指以下设备:■小容量设备:STM32F101xx,STM32F102xx和STM32F103xx微控制器,flash 大小在16-32KB之间。

stm32f1标准库开发手册

stm32f1标准库开发手册

让我们来探讨一下关于STM32F1标准库开发手册的主题。

STM32F1系列是意法半导体推出的基于ARM Cortex-M3内核的32位微控制器系列,被广泛应用于工业控制、汽车电子、智能家居等领域。

而开发手册则是为了帮助开发者更好地理解和应用这一系列产品,提供了丰富的资料和示例代码,以便快速上手和开发。

接下来,我将以从简到繁、由浅入深的方式,逐步探讨STM32F1标准库开发手册的内容。

在文章中我会多次提及STM32F1标准库开发手册,以便让你更加深入地理解这一主题。

1. STM32F1标准库开发手册概述在STM32F1标准库开发手册中,我们可以找到丰富的资料,包括各种外设的驱动库以及丰富的示例代码。

通过这些资料,开发者可以快速了解每个外设的工作原理和使用方法,并可以直接借鉴示例代码进行开发,极大地提高了开发效率。

2. STM32F1标准库开发手册中的外设驱动库在STM32F1标准库开发手册中,每个外设都有相应的驱动库,开发者可以通过这些驱动库来操作和控制外设。

这些驱动库提供了丰富的API接口,方便开发者进行二次开发。

在开发过程中,可以根据具体需求来调用这些API接口,快速实现功能的扩展和定制化开发。

3. STM32F1标准库开发手册中的示例代码除了外设驱动库,STM32F1标准库开发手册还提供了丰富的示例代码,涵盖了各种外设的初始化、配置和应用。

通过这些示例代码,开发者可以直观地了解外设的使用方法,同时也可以作为基础代码进行修改和扩展,加速开发过程。

经过以上的简要介绍,让我们更深入地探讨STM32F1标准库开发手册。

在使用STM32F1标准库开发手册进行开发时,有几点需要特别注意:要熟悉STM32F1系列微控制器的数据手册和参考手册。

这些资料包含了微控制器的详细参数和功能描述,对于理解和使用外设至关重要。

要深入理解外设的工作原理和寄存器配置。

在实际开发中,直接操作寄存器可以提高代码的执行效率,因此了解每个寄存器的作用和配置是非常重要的。

STM32F10xxx微控制器的QVGA TFT-LCD直接驱动应用笔记说明书

STM32F10xxx微控制器的QVGA TFT-LCD直接驱动应用笔记说明书

AN3241应用笔记QVGA TFT-LCD直接驱动使用STM32F10xx FSMC外设前言本应用笔记讲解的低成本解决方案可使用任何未配备片上LCD控制器的STM32F10xxx微控制器,直接驱动QVGA TFT-LCD。

强大的STM32F10xxx器件具有嵌入式的FSMC(灵活的静态存储控制器),它可与片上DMA控制器共同使用,实现对TFT-LCD的直接驱动。

此低成本解决方案为数字相框、独立信息显示器、静态广告板等应用的理想选择。

本应用笔记说明了怎样将STM32F10xx用作LCD控制器,驱动一个与FSMC接口的QVGA3.5" TFT面板。

此解决方案实现的优化意味着仅需1% CPU负荷即可显示静态图片。

固件的演示已在320x240像素分辨率的CT05350DW0000T QVGA 3.5" LCD模块上开发并测试。

2014年11月Doc ID 17695 Rev 11/21目录AN3241目录1STM32 QVGA TFT-LCD直接驱动 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31.1STM32 QVGA TFT-LCD直接驱动原理 . . . . . . . . . . . . . . . . . . . . . . . . . . . 32STM32 QVGA TFT-LCD驱动实现 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 62.1QVGA TFT-LCD信号与STM32F10xx FSMC接口 . . . . . . . . . . . . . . . . . . 62.2图片格式与分辨率 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 72.3图片源 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 72.4STM32 QVGA LCD-TFT直接驱动流程 . . . . . . . . . . . . . . . . . . . . . . . . . . . 72.4.1显示模式 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 112.5TFT-LCD背光控制 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12 3硬件参考设计 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 134固件包 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16库 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16项目. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 164.1固件安装 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 174.2如何配置QVGA TFT-LCD参数 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18 5结论 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19 6修订历史 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 202/21Doc ID 17695 Rev 11 STM32 QVGA TFT-LCD直接驱动STM32微控制器具有一个嵌入式的灵活静态存储控制器(FSMC),可连接NAND、NOR、SRAM、PSRAM等外部存储器接口。

stm32f10x参考手册

stm32f10x参考手册

STM32F10x参考手册第一版STM32F10x参考手册1文档中的约定 (1)1.1寄存器描述中使用的缩写列表 (1)2存储器和总线构架 (2)2.1系统构架 (2)2.2存储器组织 (3)2.3存储器映像 (4)2.3.1外设存储器映像 (5)2.3.2嵌入式SRAM (6)2.3.3位段 (6)2.3.4嵌入式闪存 (6)2.4启动配置 (8)3电源控制(PWR) (9)3.1电源 (9)3.1.1独立的A/D转换器供电和参考电压 (9)3.1.2电池备份 (9)3.1.3电压调节器 (10)3.2电源管理器 (10)3.2.1上电复位(POR)和掉电复位(PDR) (10)3.2.2可编程电压监测器(PVD) (10)3.3低功耗模式 (11)3.3.1降低系统时钟 (12)3.3.2外部时钟的控制 (12)3.3.3睡眠模式 (12)3.3.4停止模式 (13)3.3.5待机模式 (14)3.3.6低功耗模式下的自动唤醒(AWU) (15)3.4电源控制寄存器 (16)3.4.1电源控制寄存器(PWR_CR) (16)3.4.2电源控制/状态寄存器 (17)3.5PWR寄存器映像 (18)4复位和时钟控制 (19)4.1复位 (19)4.1.1系统复位 (19)4.1.2电源复位 (19)4.2时钟 (20)4.2.1HSE时钟 (22)4.2.2HSI时钟 (22)4.2.3PLL (23)4.2.4LSE时钟 (23)4.2.5LSI时钟 (23)4.2.6系统时钟(SYSCLK)选择 (24)4.2.7时钟安全系统(CSS) (24)4.2.8RTC时钟 (24)4.2.9看门狗时钟 (24)4.2.10时钟输出 (25)4.3RCC寄存器描述 (26)4.3.1时钟控制寄存器(RCC_CR) (26)4.3.2时钟配置寄存器(RCC_CFGR) (27)4.3.3时钟中断寄存器 (RCC_CIR) (29)4.3.4APB2外设复位寄存器 (RCC_APB2RSTR) (32)4.3.5APB1外设复位寄存器 (RCC_APB1RSTR) (33)4.3.6AHB外设时钟使能寄存器 (RCC_AHBENR) (35)4.3.7APB2外设时钟使能寄存器(RCC_APB2ENR) (36)4.3.8APB1外设时钟使能寄存器(RCC_APB1ENR) (37)4.3.9备份域控制寄存器 (RCC_BDCR) (39)4.3.10控制/状态寄存器 (RCC_CSR) (40)4.4RCC寄存器映像 (43)5通用和复用功能I/O(GPIO和AFIO) (44)5.1GPIO功能描述 (44)5.1.1通用I/O(GPIO) (45)5.1.2单独的位设置或位清除 (45)5.1.3外部中断/唤醒线 (46)5.1.4复用功能(AF) (46)5.1.5软件重新映射I/O复用功能 (46)5.1.6GPIO锁定机制 (46)5.1.7输入配置 (46)5.1.8输出配置 (47)5.1.9复用功能配置 (48)5.2GPIO寄存器描述 (50)5.2.1端口配置低寄存器(GPIOx_CRL) (x=A..E) (50)5.2.2端口配置高寄存器(GPIOx_CRH) (x=A..E) (51)5.2.3端口输入数据寄存器(GPIOx_IDR) (x=A..E) (52)5.2.4端口输出数据寄存器(GPIOx_ODR) (x=A..E) (52)5.2.5端口位设置/复位寄存器(GPIOx_BSRR) (x=A..E) (53)5.2.6端口位复位寄存器(GPIOx_BRR) (x=A..E) (53)5.2.7端口配置锁定寄存器(GPIOx_LCKR) (x=A..E) (54)5.3复用功能I/O和调试配置(AFIO) (55)5.3.1把OSC_IN/OSC_OUT引脚作为GPIO端口PD0/PD1 (55)5.3.2BXCAN复用功能重映射 (55)5.3.3JTAG/SWD复用功能重映射 (55)5.3.4定时器复用功能重映射 (56)5.3.5USART复用功能重映射 (57)5.3.6I2C 1 复用功能重映射 (58)5.3.7SPI 1复用功能重映射 (58)5.4AFIO寄存器描述 (59)5.4.1复用重映射和调试I/O配置寄存器(AFIO_MAPR) (60)5.4.2外部中断配置寄存器1(AFIO_EXTICR1) (62)5.4.3外部中断配置寄存器2(AFIO_EXTICR2) (62)5.4.4外部中断配置寄存器3(AFIO_EXTICR3) (63)5.4.5外部中断配置寄存器4(AFIO_EXTICR4) (63)5.5GPIO 和AFIO寄存器地址映象 (64)5.5.1GPIO寄存器地址映象 (64)5.5.2AFIO寄存器地址映象 (65)6中断和事件 (66)6.1嵌套向量中断控制器(NVIC) (66)6.1.1系统嘀嗒(SysTick)校准值寄存器 (66)6.1.2中断和异常向量 (66)6.2外部中断/事件控制器(EXTI) (68)6.2.1主要特性 (68)6.2.2框图 (69)6.2.3唤醒事件管理 (69)6.2.4功能说明 (69)6.2.5外部中断/事件线路映像 (71)6.3EXTI 寄存器描述 (72)6.3.1外部中断/事件寄存器映像 (75)7DMA 控制器(DMA) (76)7.1简介 (76)7.2主要特性 (76)7.3功能描述 (77)7.3.1DMA处理 (77)7.3.2仲裁器 (77)7.3.3DMA 通道 (78)7.3.4错误管理 (79)7.3.5DMA请求映像 (79)7.4DMA寄存器 (82)7.4.1DMA中断状态寄存器(DMA_ISR) (82)7.4.2DMA中断标志清除寄存器(DMA_IFCR) (82)7.4.3DMA通道x配置寄存器(DMA_CCRx)(x = 1...7).. (83)7.4.4DMA通道x传输数量寄存器(DMA_CNDTRx)(x = 1...7) (85)7.4.5DMA通道x外设地址寄存器(DMA_CPARx)(x = 1...7).. (85)7.4.6DMA通道x存储器地址寄存器(DMA_CPARx)(x = 1...7).. (85)7.5DMA寄存器映像 (86)8实时时钟(RTC) (88)8.1简介 (88)8.2主要特性 (88)8.3功能描述 (88)8.3.1概述 (88)8.3.2复位过程 (90)8.3.3读RTC寄存器 (90)8.3.4配置RTC寄存器 (90)8.3.5RTC标志的设置 (90)8.4RTC寄存器描述 (91)8.4.1RTC控制寄存器高位(RTC_CRH) (91)8.4.2RTC控制寄存器低位(RTC_CRL) (92)8.4.3RTC预分频装载寄存器(RTC_PRLH/RTC_PRLL) (93)8.4.4RTC预分频分频因子寄存器(RTC_DIVH / RTC_DIVL) (94)8.4.5RTC计数器寄存器 (RTC_CNTH / RTC_CNTL) (95)8.4.6RTC闹钟寄存器(RTC_ALRH/RTC_ALRL) (95)8.5RTC寄存器映像 (97)9备份寄存器(BKP) (98)9.1简介 (98)9.2特性 (98)9.3侵入检测 (98)9.4RTC校准 (98)9.5BKP寄存器描述 (99)9.5.1备份数据寄存器x(BKP_DRx) (x = 1 ... 10) (99)9.5.2RTC时钟校准寄存器(BKP_RTCCR) (99)9.5.3备份控制寄存器(BKP_CR) (99)9.5.4备份控制/状态寄存器(BKP_CSR) (100)9.6BKP寄存器映像 (101)10独立看门狗(IWDG) (103)10.1简介 (103)10.1.1硬件看门狗 (103)10.1.2寄存器访问保护 (103)10.1.3调试模式 (104)10.2IWDG寄存器描述 (104)10.2.1键寄存器(IWDG_KR) (104)10.2.2预分频寄存器(IWDG_PR) (105)10.2.3重装载寄存器(IWDG_RLR) (106)10.2.4状态寄存器(IWDG_SR) (106)10.3IWDG寄存器映像 (107)11窗口看门狗(WWDG) (108)11.1简介 (108)11.2主要特性 (108)11.3功能描述 (108)11.4如何编写看门狗超时程序 (109)11.5调试模式 (110)11.6寄存器描述 (111)11.6.1控制寄存器(WWDG_CR) (111)11.6.2配置寄存器(WWDG_CFR) (111)11.6.3状态寄存器(WWDG_SR) (112)11.7WWDG寄存器映像 (113)12高级控制定时器(TIM1) (114)12.1简介 (114)12.2主要特性 (114)12.3框图 (115)12.4功能描述 (116)12.4.1时基单元 (116)12.4.2计数器模式 (117)12.4.3重复向下计数器 (125)12.4.4时钟选择 (126)12.4.5捕获/比较通道 (129)12.4.6输入捕获模式 (131)12.4.7PWM输入模式 (132)12.4.8强置输出模式 (132)12.4.9输出比较模式 (133)12.4.10PWM 模式 (134)12.4.11互补输出和死区插入 (136)12.4.12使用刹车功能 (138)12.4.13在外部事件时清除OCxREF信号 (139)12.4.14六步PWM的产生 (140)12.4.15单脉冲模式 (141)12.4.16编码器接口模式 (143)12.4.17定时器输入异或功能 (144)12.4.18与霍尔元件的接口 (145)12.4.19定时器和外部触发的同步 (146)12.4.20定时器同步 (149)12.4.21调试模式 (149)12.5TIM1寄存器描述 (150)12.5.1控制寄存器1(TIM1_CR1) (150)12.5.2控制寄存器2(TIM1_CR2) (151)12.5.3从模式控制寄存器(TIM1_SMCR) (153)12.5.4DMA/中断使能寄存器(TIM1_DIER) (154)12.5.5状态寄存器(TIM1_SR) (156)12.5.6事件产生寄存器(TIM1_EGR) (157)12.5.7捕获/比较模式寄存器1(TIM1_CCMR1) (158)12.5.8捕获/比较模式寄存器2(TIM1_CCMR2) (161)12.5.10计数器(TIM1_CNT) (165)12.5.11预分频器(TIM1_PSC) (165)12.5.12自动重装载寄存器(TIM1_ARR) (165)12.5.13周期计数寄存器(TIM1_RCR) (166)12.5.14捕获/比较寄存器1(TIM1_CCR1) (166)12.5.15捕获/比较寄存器2(TIM1_CCR2) (167)12.5.16捕获/比较寄存器3(TIM1_CCR3) (167)12.5.17捕获/比较寄存器(TIM1_CCR4) (168)12.5.18刹车和死区寄存器(TIM1_BDTR) (168)12.5.19DMA控制寄存器(TIM1_DCR) (170)12.5.20连续模式的DMA地址(TIM1_DMAR) (170)12.6TIM1寄存器图 (171)13通用定时器(TIMx) (173)13.1概述 (173)13.2主要特性 (173)13.3框图 (174)13.4功能描述 (175)13.4.1时基单元 (175)13.4.2计数器模式 (176)13.4.3时钟选择 (183)13.4.4捕获/比较通道 (185)13.4.5输入捕获模式 (187)13.4.6PWM输入模式 (187)13.4.7强置输出模式 (188)13.4.8输出比较模式 (188)13.4.9PWM 模式 (189)13.4.10单脉冲模式 (191)13.4.11在外部事件时清除OCxREF信号 (193)13.4.12编码器接口模式 (193)13.4.13定时器输入异或功能 (195)13.4.14定时器和外部触发的同步 (195)13.4.15定时器同步 (198)13.4.16调试模式 (202)13.5TIMx寄存器描述 (203)13.5.2控制寄存器2(TIMx_CR2) (205)13.5.3从模式控制寄存器(TIMx_SMCR) (206)13.5.4DMA/中断使能寄存器(TIMx_DIER) (207)13.5.5状态寄存器(TIMx_SR) (209)13.5.6事件产生寄存器(TIMx_EGR) (211)13.5.7捕获/比较模式寄存器1(TIMx_CCMR1) (212)13.5.8捕获/比较模式寄存器2(TIMx_CCMR2) (215)13.5.9捕获/比较使能寄存器(TIMx_CCER) (216)13.5.10计数器(TIMx_CNT) (218)13.5.11预分频器(TIMx_PSC) (218)13.5.12自动重装载寄存器(TIMx_ARR) (218)13.5.13捕获/比较寄存器1(TIMx_CCR1) (219)13.5.14捕获/比较寄存器2(TIMx_CCR2) (220)13.5.15捕获/比较寄存器3(TIMx_CCR3) (220)13.5.16捕获/比较寄存器(TIMx_CCR4) (221)13.5.17DMA控制寄存器(TIMx_DCR) (221)13.5.18连续模式的DMA地址(TIMx_DMAR) (222)13.6TIMx寄存器图 (223)14控制器局域网(bxCAN) (225)14.1简介 (225)14.2主要特点 (225)14.3总体描述 (225)14.3.1CAN 2.0B内核 (226)14.3.2控制、状态和配置寄存器 (226)14.3.3发送邮箱 (226)14.3.4接收过滤器 (226)14.3.5接收FIFO (227)14.4工作模式 (228)14.4.1初始化模式 (228)14.4.2正常模式 (228)14.4.3睡眠模式(低功耗) (228)14.4.4测试模式 (229)14.4.5静默模式 (229)14.4.6环回模式 (229)14.4.7环回静默模式 (230)14.5功能描述 (230)14.5.1发送处理 (230)14.5.2时间触发通信模式 (232)14.5.3接收管理 (232)14.5.4标识符过滤 (234)14.5.5报文存储 (238)14.5.6出错管理 (239)14.5.7位时间特性 (239)14.6中断 (241)14.7寄存器访问保护 (243)14.8CAN 寄存器描述 (243)14.8.1控制和状态寄存器 (243)14.8.2邮箱寄存器 (255)14.8.3CAN过滤器寄存器 (260)14.9bxCAN寄存器列表 (264)15I2C接口 (267)15.1介绍 (267)15.2主要特点 (267)15.3概述 (268)15.4功能描述 (269)15.4.1I2C从模式 (269)15.4.2I2C主模式 (271)15.4.3错误条件 (274)15.4.4SDA/SCL线控制 (275)15.4.5SMBus (275)15.4.6DMA请求 (277)15.4.7包错误校验(PEC) (278)15.5中断请求 (279)15.6I2C寄存器描述 (281)15.6.1控制寄存器1(I2C_CR1) (281)15.6.2控制寄存器2(I2C_CR2) (283)15.6.3自身地址寄存器1 (I2C_OAR1) (284)15.6.4自身地址寄存器2(I2C_OAR2) (285)15.6.5数据寄存器(I2C_DR) (285)15.6.6状态寄存器1(I2C_SR1) (285)15.6.7状态寄存器2 (I2C_SR2) (288)15.6.8时钟控制寄存器(I2C_CCR) (289)15.6.9TRISE寄存器(I2C_TRISE) (290)15.7I2C寄存器地址映象 (291)16串行外设接口(SPI) (292)16.1简介 (292)16.2主要特征 (292)16.3功能描述 (292)16.3.1概述 (292)16.3.2SPI从模式 (295)16.3.3SPI主模式 (296)16.3.4单向通信 (297)16.3.5状态标志 (297)16.3.6CRC计算 (298)16.3.7利用DMA的SPI通信 (299)16.3.8错误标志 (299)16.3.9中断 (300)16.4SPI寄存器描述 (300)16.4.1SPI控制寄存器1(SPI_CR1) (300)16.4.2SPI控制寄存器2(SPI_CR2) (302)16.4.3SPI 状态寄存器(SPI_SR) (303)16.4.4SPI 数据寄存器(SPI_DR) (304)16.4.5SPI CRC多项式寄存器(SPI_CRCPR) (304)16.4.6SPI Rx CRC寄存器(SPI_RXCRCR) (305)16.4.7SPI Tx CRC寄存器(SPI_TXCRCR) (305)16.5SPI 寄存器地址映象 (306)17USART收发器(USART) (307)17.1介绍 (307)17.2概述 (308)17.2.1框图 (309)17.2.2USART 特征描述 (310)17.2.3发送器 (310)17.2.4接收器 (312)17.2.5分数波特率的产生 (315)17.2.617.2.6 多处理器通信 (316)17.2.7校验控制 (317)17.2.8LIN(局域互联网)模式 (318)17.2.9USART 同步模式 (320)17.2.10单线半双工通信 (322)17.2.11智能卡 (322)17.2.12IrDA SIR ENDEC 功能块 (324)17.2.13利用DMA连续通信 (325)17.2.14硬件流控制 (326)17.3中断请求 (327)17.4USART寄存器描述 (329)17.4.1状态寄存器(USART_SR) (329)17.4.2数据寄存器(USART_DR) (330)17.4.3波特比率寄存器(USART_BRR) (331)17.4.4控制寄存器1 (USART_CR1) (331)17.4.5控制寄存器2(USART_CR2) (333)17.4.6控制寄存器3(USART_CR3) (335)17.4.7保护时间和预分频寄存器(USART_GTPR) (336)17.5USART寄存器地址映象 (338)18USB全速设备接口(USB) (339)18.1导言 (339)18.2主要特征 (339)18.3方框图 (339)18.4功能描述 (340)18.4.1USB功能模块描述 (341)18.5编程中需要考虑的问题 (342)18.5.1通用USB设备编程 (342)18.5.2系统复位和上电复位 (342)18.5.3双缓冲端点 (346)18.5.4同步传输 (347)18.5.5挂起/恢复事件 (348)18.6USB寄存器描述 (350)18.6.1通用寄存器 (350)18.6.2端点寄存器 (355)18.6.3缓冲区描述表 (358)18.7USB寄存器映像 (361)19模拟/数字转换(ADC) (363)19.1介绍 (363)19.2主要特征 (363)19.3引脚描述 (365)19.4功能描述 (365)19.4.1ADC开关控制 (365)19.4.2ADC时钟 (365)19.4.3通道选择 (365)19.4.4单次转换模式 (366)19.4.5连续转换模式 (366)19.4.6时序图 (367)19.4.7模拟看门狗 (368)19.4.8扫描模式 (368)19.4.9注入通道管理 (369)19.4.10间断模式 (369)19.5校准 (370)19.6数据对齐 (371)19.7可编程的通道采样时间 (371)19.8外部触发转换 (371)19.9DMA请求 (372)19.10双ADC模式 (372)19.10.1同时注入模式 (374)19.10.2同时规则模式 (374)19.10.3快速交替模式 (375)19.10.4慢速交替模式 (375)19.10.5交替触发模式 (376)19.10.6独立模式 (377)19.10.7混合的规则/注入同步模式 (377)19.10.8混合的同步规则+交替触发模式 (377)19.10.9混合同步注入+交替模式 (378)19.11温度传感器 (378)19.12中断 (379)19.13ADC寄存器描述 (381)19.13.1ADC状态寄存器(ADC_SR) (381)19.13.2ADC控制寄存器1(ADC_CR1) (382)19.13.3ADC控制寄存器2(ADC_CR2) (384)19.13.4ADC采样时间寄存器1(ADC_SMPR1) (387)19.13.5ADC采样时间寄存器2(ADC_SMPR2) (387)19.13.6ADC注入通道数据偏移寄存器x (ADC_JOFRx)(x=1..4) (388)19.13.7ADC看门狗高阀值寄存器(ADC_HTR) (388)19.13.8ADC看门狗低阀值寄存器(ADC_LRT) (388)19.13.9ADC规则序列寄存器1(ADC_SQR1) (390)19.13.10ADC规则序列寄存器2(ADC_SQR2) (390)19.13.11ADC规则序列寄存器3(ADC_SQR3) (391)19.13.12ADC注入序列寄存器(ADC_JSQR) (391)19.13.13ADC 注入数据寄存器x (ADC_JDRx) (x= 1..4) (392)19.13.14ADC规则数据寄存器(ADC_DR) (392)19.14ADC寄存器地址映像 (394)20调试支持(DBG) (396)20.1概况 (396)20.2ARM参考文献 (397)20.3SWJ调试端口(serial wire and JTAG) (397)20.3.1JTAG-DP和SW-DP切换的机制 (397)20.4引脚分布和调试端口脚 (398)20.4.1SWJ调试端口脚 (398)20.4.2灵活的SWJ-DP脚分配 (398)20.4.3JTAG脚上的内部上拉和下拉 (399)20.4.4利用串行接口并释放不用的调试脚作为普通I/O口 (400)20.5STM32F10x JTAG TAP 连接 (400)20.6ID 代码和锁定机制 (401)20.6.1MCU DEVICE ID编码 (401)20.6.2TMC TAP (401)20.6.3Cortex-M3 TAP (401)20.6.4Cortex-M3 JEDEC-106 ID代码 (401)20.7JTAG调试端口 (402)20.8SW调试端口 (403)20.8.1SW协议介绍 (403)20.8.2SW协议序列 (403)20.8.3SW-DP状态机(Reset, idle states, ID code) (404)20.8.4DP和AP读/写访问 (404)20.8.5SW-DP寄存器 (405)20.8.6SW-AP寄存器 (405)20.9对于JTAG-DP或SWDP都有效的AHB-AP (AHB 访问端口) (405)20.10内核调试 (406)20.11调试器主机在系统复位下的连接能力 (407)20.12FPB (Flash patch breakpoint) (407)20.13DWT(data watchpoint trigger) (407)20.14ITM (instrumentation trace macrocell) (408)20.14.1概述 (408)20.14.2时间戳包,同步和溢出包 (408)20.15MCU调试模块(MCUDBG) (409)20.15.1低功耗模式的调试支持 (409)20.15.2支持定时器和看门狗和bxCAN的调试 (409)20.15.3调试MCU配置寄存器 (410)20.16TPIU (trace port interface unit) (411)20.16.1导言 (411)20.16.2跟踪引脚分配 (412)20.16.3TPUI格式器 (414)20.16.4TPUI帧异步包 (414)20.16.5同步帧包的发送 (415)20.16.6同步模式 (415)20.16.7异步模式 (415)20.16.8TRACECLKIN在STM32F10x内部的连接 (415)20.16.9TPIU寄存器 (416)20.16.10配置的例子 (416)20.17DBG寄存器地址映象 (417)STM32F10x参考手册第一版文档中的约定1 文档中的约定1.1 寄存器描述中使用的缩写列表在对寄存器的描述中使用了下列缩写:read / write (rw) 软件能读写此位。

STM32F10x参考手册参考手册参考手册参考手册

STM32F10x参考手册参考手册参考手册参考手册
进入停止模式
关于如何进入停止模式,详见表 3-4。 在停止模式下,通过设置电源控制寄存器(PWR_CR)的 LPDS 位使内部调节器进入低功耗 模式,能够降低更多的功耗。
如果正在进行 Flash 编程,直到对内存访问完成,系统才进入停止模式。 如果正在进行对 APB 的访问,直到对 APB 访问完成,系统才进入停止模式。 可以通过对独立的控制位进行编程,可选择以下功能:
表3-4 停止模式
进入
退出 唤醒延时
在以下条件下执行WFI或WFE指令: – 设置Cortex-M3系统控制寄存器中的SLEEPDEEP位 – 清除电源控制寄存器(PWR_CR)中的PDDS位 – 通过设置PWR_CR中LPDS位选择电压调节器的模式 注:为了进入停止模式,所有的外部中断的请求位(挂起寄存器(EXTI_PR))和RTC的闹 钟标志都必须被清除,否则停止模式的进入流程将会被跳过,程序继续运行。
STM32F10x 参考手册
第一版
电源控制(PWR)
3 电源控制(PWR)
3.1 电源
STM32 的工作电压(VDD)为 2.0~3.6V。通过内置的电压调节器提供所需的 1.8V 电源。 当主电源 VDD 掉电后,通过 VBAT 脚为实时时钟(RTC)和备份寄存器提供电源。
3.1.1
图3-1 电源框图 独立的 A/D 转换器供电和参考电压
如果应用中没有使用外部电池,VBAT 必须连接到 VDD 引脚上。
注意:在 VDD 上升阶段(tRSTTEMPO),VBAT 和 VDD 之间的电源开关仍会保持连接在 VBAT。当 VDD 快速上升且达 到稳定状态,当 VBAT 低于 VDD−0.6V 时,电流通过 VDD 和 VBAT 之间的二极管流入到 VBAT。关于 tRSTTEMPO 可参考数据手册中的相关部分。

第1章 STM32F10X系统介绍

第1章 STM32F10X系统介绍

• • • • •
多达2个 同步串行接口(18兆位 多达 个SPI同步串行接口 兆位 秒) 同步串行接口 兆位/秒 CAN 接口 接口(2.0B 主动 主动) USB 2.0 全速接口 调试模式 串行线调试(SWD)和JTAG接口 串行线调试 和 接口
1.1.4 STM32F10X 的应用前景
销售终端机 安防设备
• 72MHz CortexTM-M3 CPU
512 K
384 K
– 6KB to 64KB SRAM – Two lines: Performance and Access – FULL compatibility across family
256 K
128 K
STM32F103CB STM32F101CB STM32F103T8 STM32F103C8 STM32F101C8 STM32F103C6 STM32F101C6 48 pins LQFP
银行卡读卡器 超市收银机 扫描仪 报警系统 控制面板
USB 设备
生物认证和安全设备 读卡器
医药卫生
监护仪 检测设备
其它 工业自动化
程序控制器 工业网络 电池管理 ……
消费电子
PC附属设备 数码相机、GPS导航仪 卫星电话
强大的工具支持
Compilers and IDE Device Programming
– 16位处理器 位处理器 – 最高40MHz 最高
• 存储器
– 从32K字节至 字节至128K字节闪存 字节闪存 字节至 程序存储器 – 从6K字节至 字节至20K字节 字节SRAM 字节至 字节 – 多重自举功能
• 存储器
– 32K字节 字节 – SRAM:2K : – 只能从FLASH启动 只能从 启动

STM32F10xxx闪存编程参考手册

STM32F10xxx闪存编程参考手册

STM32F10xxx闪存编程手册
页1/22
依据2008年9月英文第4版翻译。本译文仅供参考,如有翻译错误,请以英文原稿为准
目录
1 概述 ...................................................................................................................................................4 1.1 特性 ........................................................................................................................................4 1.2 闪存模块组织 ...............................................................................................4
z Cortex-M3内核集成了两个调试端口: − JTAG调试接口(JTAG-DP)提供基于JTAG(Joint Test Action Group 联合测试行动 小组)协议的5线标准接口。 − SWD调试接口(SWD-DP)提供基于SWD(Serial Wire Debug 串行线调试)协议的2 线标准接口。
z 中容量产品是指闪存存储器容量在64K至128K字节之间的STM32F101xx、STM32F102xx 和STM32F103xx微控制器。
z 大 容 量 产 品 是 指 闪 存 存 储 器 容 量 在 256K 至 512K 字 节 之 间 的 STM32F101xx 和 STM32F103xx微控制器。

STM32F10x闪存编程手册_V6

STM32F10x闪存编程手册_V6
z 大容量产品是指闪存存储器容量在256K~512K字节之间的STM32F101xx和STM32F103xx 微控制器产品。
3 寄存器说明 ......................................................................................................................................15 3.1 闪存访问控制寄存器(FLASH_ACR)......................................................................................15 3.2 FPEC键寄存器(FLASH_KEYR) ............................................................................................16 3.3 闪存OPTKEY寄存器(FLASH_OPTKEYR) ............................................................................16 3.4 闪存状态寄存器(FLASH_SR)................................................................................................16 3.5 闪存控制寄存器(FLASH_CR) ...............................................................................................17 3.6 闪存地址寄存器(FLASH_AR)................................................................................................18 3.7 选项字节寄存器(FLASH_OBR).............................................................................................18 3.8 写保护寄存器(FLASH_WRPR) .............................................................................................19 3.9 闪存寄存器映像 ....................................................................................................................19

stm32入门说明

stm32入门说明

下载好的文件一般是个压缩包, 我们把它解压一下默认的文件名就可以了, 我现在使用的是 v3.1.2 的库,解压后的文件名 STM32F10x_StdPeriph_Lib_V3.1.2,打开解压后的文件可以看到 如下的内容
Libraries 是系统的库,不需要我们修改。project 是工程的一些东西,里面是些例程和模板。 Utilities 是 st 的开发板的一些东西。我们主要关注 project 里面的内容。Project 如下
GPIOSpeed_TypeDef GPIO_Speed;
GPIOMode_TypeDef GPIO_Mode;
}GPIO_InitTypeDef; 其中的 GPIOSpeed_TypeDef, GPIOMode_TypeDef 可以查看库中的 GPIO.h 文件中的详细定义 这里就不介绍。 看下 st 给出的库提供了哪些操作端口的函数吧: 这些函数的详细信息可以参考 st 的库说明,最好去看一下函数的原型代码,这样会有更好 的理解。当然了,我在具体使用的时候也会做一般的说明。 void GPIO_DeInit(GPIO_TypeDef* GPIOx); void GPIO_AFIODeInit(void); void GPIO_Init(GPIO_TypeDef* GPIOx, GPIO_InitTypeDef* GPIO_InitStruct); void GPIO_StructInit(GPIO_InitTypeDef* GPIO_InitStruct); uint8_t GPIO_ReadInputDataBit(GPIO_TypeDef* GPIOx, uint16_t GPIO_Pin); uint16_t GPIO_ReadInputData(GPIO_TypeDef* GPIOx); uint8_t GPIO_ReadOutputDataBit(GPIO_TypeDef* GPIOx, uint16_t GPIO_Pin); uint16_t GPIO_ReadOutputData(GPIO_TypeDef* GPIOx); void GPIO_SetBits(GPIO_TypeDef* GPIOx, uint16_t GPIO_Pin); void GPIO_ResetBits(GPIO_TypeDef* GPIOx, uint16_t GPIO_Pin); void GPIO_WriteBit(GPIO_TypeDef* GPIOx, uint16_t GPIO_Pin, BitAction BitVal); void GPIO_Write(GPIO_TypeDef* GPIOx, uint16_t PortVal); void GPIO_PinLockConfig(GPIO_TypeDef* GPIOx, uint16_t GPIO_Pin); void GPIO_EventOutputConfig(uint8_t GPIO_PortSource, uint8_t GPIO_PinSource); void GPIO_EventOutputCmd(FunctionalState NewState); void GPIO_PinRemapConfig(uint32_t GPIO_Remap, FunctionalState NewState); void GPIO_EXTILineConfig(uint8_t GPIO_PortSource, uint8_t GPIO_PinSource); void GPIO_ETH_MediaInterfaceConfig(uint32_t GPIO_ETH_MediaInterface); 介绍到这里, 对通用的 I/O 端口有个大概的了解了吧, 下面我们通过例子来详细的说明一下。 说到这里,是该介绍一下如何使用 MDK4.0 开始一个新的工程,这里我们使用最新的库进行 配置操作。 去下载新的库,如何下载大家 google 吧,一般 st 的网站上都有的,这里就略过了。

stm32开发方法

stm32开发方法

stm32开发方法
STM32的开发方法主要有两种:使用标准外设库和HAL库。

1. 标准外设库(Standard Peripheral Library,简称SPL)是STM32官方提供给用户的全系列芯片的外设驱动,官方把单片机外设的功能进行包装,提供给用户一个现成的接口函数。

用户不用去管寄存器到底是如何操作的,直接调用接口函数,即可使用这些外设。

这个驱动包名字一般是
STM32Fxxx_StdPeriph_Lib_。

以STM32F10x_StdPeriph_Lib_驱动包为例,解压该zip文件,得到如下文件夹和文件:_htmresc、Libraries、Project、Utilities、Release_、stm32f10x_stdperiph_lib_。

其中,Libraries包含库的源代码;Project包含stm32各个外设的使用范例和一个工程模板;Utilities是使用st公司评估板的例子;stm32f10x_stdperiph_lib_教我们
怎么用标准外设库。

2. HAL库是ST公司目前主力推的开发方式,全称就是Hardware Abstraction Layer(硬件抽象层)。

请注意,在选择开发方法时,需要考虑具体的项目需求和开发者的熟悉程度。

如需更多信息,建议访问信息技术论坛或请教软件工程专家。

STM32F10x参考手册参考手册参考手册参考手册

STM32F10x参考手册参考手册参考手册参考手册
CAN_REMAP[1:0]:CAN复用功能重映像 这些位可由软件读写,控制复用功能CANRX和CANTX的重映像 00:CANRX映像到PA11,CANTX映像到PA12 01:未用组合 10:CANRX映像到PB8,CANTX映像到PB9(不能用于36脚的封装) 11:CANRX映像到PD0,CANTX映像到PD1(只适用于100脚的封装)
STM32F10x参考手册
第一版
通用和复用功能I/O(GPIO和AFIO)
5.3
5.3.1 5.3.2
5.3.3
复用功能I/O和调试配置(AFIO)
为了优化64脚或100脚封装的外设数目,可以把一些复用功能重新映射到其他引脚上。设置 复用重映射和调试I/O配置寄存器(AFIO_MAPR)(参见5.4.1节)实现引脚的重新映射。这时, 复用功能不再映射到它们的原始分配上。
调试接口信号被映射到GPIO端口上,如表5-4所示。 表5-4 调试接口信号
复用功能 JTMS/SWDIO JTCK/SWCLK
JTDI JTDO/TRACESWO
JNTRST TRACECK TRACED0 TRACED1 TRACED2 TRACED3
GPIO端口 PA13 PA14 PA15 PB3 PB4 PE2 PE3 PE4 PE5 PE6
其它
禁用
1. I/O口只可在不使用异步跟踪时使用。
定时器复用功能重映射
定时器4的通道1到通道4可以从端口B重映射到端口D。其他定时器的重映射可能性列在表 5-6到表5-9里。
表5-6 定时器4复用功能重映像
复用功能
TIM4_REMAP = 0
TIM4_REMAP = 1
TIM4_CH1
PB6
PD12

stm32f100编程手册

stm32f100编程手册

stm32f100编程手册
STM32F100编程手册是一份详细的文档,提供了关于
STM32F100微控制器的编程和使用指南。

这份手册通常包括以下内容:
1.概述:介绍STM32F100系列微控制器的基本特点和应用领域。

2.硬件架构:详细描述STM32F100微控制器的硬件架构,包括引脚配
置、内部模块、存储器等。

3.软件开发工具:介绍用于开发STM32F100微控制器的软件开发工具,
如编译器、调试器、烧录器等。

4.外设模块:详细介绍STM32F100微控制器内部的各种外设模块,如
GPIO、UART、SPI、I2C等,包括其工作原理、寄存器配置和使用方法。

5.中断和事件处理:描述STM32F100微控制器的中断和事件处理机制,
包括中断源、优先级和向量表等。

6.编程语言和开发环境:介绍常用的编程语言(如C语言)和开发环
境(如Keil、IAR等),以及如何在这些环境中编写和调试STM32F100微控制器的程序。

7.示例程序:提供一些示例程序,演示如何使用STM32F100微控制器
的各种功能模块。

8.应用案例:介绍一些实际应用案例,展示STM32F100微控制器在各
个领域的应用。

9.参考手册和数据表:提供STM32F100微控制器的参考手册和数据表,
以便读者深入了解其详细规格和性能参数。

总之,STM32F100编程手册是一份全面、实用的参考资料,旨在帮助开发者快速掌握STM32F100微控制器的使用和编程技巧。

通过阅读这份手册,开发者可以更好地理解STM32F100系列微控制器的功能特点和使用方法,从而更有效地进行相关应用开发。

AN2586_Rev3_STM32F10xxx硬件开发:使用入门

AN2586_Rev3_STM32F10xxx硬件开发:使用入门

June 2009Doc ID 13675 Rev 31/27AN2586Application noteSTM32F10xxx hardware development:getting startedIntroductionThis application note is intended for system designers who require a hardwareimplementation overview of the development board features such as the power supply, the clock management, the reset control, the boot mode settings and the debug management. It shows how to use the low-density, medium-density, high-density, and connectivity lineSTM32F10xxx product families and describes the minimum hardware resources required to develop an STM32F10xxx application.Detailed reference design schematics are also contained in this document with descriptions of the main components, interfaces and modes.Glossary●Low-density devices are STM32F101xx, STM32F102xx and STM32F103xxmicrocontrollers where the Flash memory density ranges between 16 and 32 Kbytes.●Medium-density devices are STM32F101xx, STM32F102xx and STM32F103xx microcontrollers where the Flash memory density ranges between 64 and 128 Kbytes.●High-density devices are STM32F101xx and STM32F103xx microcontrollers where the Flash memory density ranges between 256 and 512 Kbytes.●Connectivity line devices are STM32F105xx and STM32F107xx microcontrollers.Contents AN2586Contents1Power supplies . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61.1Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61.1.1Independent A/D converter supply and reference voltage . . . . . . . . . . . . 61.1.2Battery backup . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 71.1.3Voltage regulator . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 71.2Power supply schemes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 71.3Reset & power supply supervisor . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 81.3.1Power on reset (POR) / power down reset (PDR) . . . . . . . . . . . . . . . . . . 81.3.2Programmable voltage detector (PVD) . . . . . . . . . . . . . . . . . . . . . . . . . . 91.3.3System reset . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 92Clocks . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 112.1HSE OSC clock . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 112.1.1External source (HSE bypass) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 112.1.2External crystal/ceramic resonator (HSE crystal) . . . . . . . . . . . . . . . . . 122.2LSE OSC clock . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 122.2.1External source (LSE bypass) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 132.2.2External crystal/ceramic resonator (LSE crystal) . . . . . . . . . . . . . . . . . . 132.3Clock security system (CSS) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 133Boot configuration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 143.1Boot mode selection . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 143.2Boot pin connection . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 143.3Embedded Boot Loader mode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 154Debug management . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 164.1Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 164.2SWJ debug port (serial wire and JTAG) . . . . . . . . . . . . . . . . . . . . . . . . . . 164.3Pinout and debug port pins . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 164.3.1SWJ debug port pins . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 164.3.2Flexible SWJ-DP pin assignment . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 174.3.3Internal pull-up and pull-down resistors on JT AG pins . . . . . . . . . . . . . . 174.3.4SWJ debug port connection with standard JTAG connector . . . . . . . . . 18 2/27 Doc ID 13675 Rev 3AN2586Contents5Recommendations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 195.1Printed circuit board . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 195.2Component position . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 195.3Ground and power supply (V SS, V DD) . . . . . . . . . . . . . . . . . . . . . . . . . . . 195.4Decoupling . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 195.5Other signals . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 205.6Unused I/Os and features . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 206Reference design . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 216.1Description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 216.1.1Clock . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 216.1.2Reset . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 216.1.3Boot mode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 216.1.4SWJ interface . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 216.1.5Power supply . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 216.2Component references . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22 7Revision history . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26Doc ID 13675 Rev 33/27List of tables AN2586 List of tablesTable 1.Boot modes. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14 Table 2.Debug port pin assignment. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17 Table 3.SWJ I/O pin availability. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17 Table 4.Mandatory components . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22 Table 5.Optional components . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22 Table 6.Reference connection for all packages. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24 Table 7.Document revision history . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26 4/27 Doc ID 13675 Rev 3AN2586List of figures List of figuresFigure 1.Power supply overview. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6 Figure 2.Power supply scheme. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8 Figure 3.Power on reset/power down reset waveform . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8 Figure 4.PVD thresholds. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9 Figure 5.Reset circuit . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10 Figure 6.External clock. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11 Figure 7.Crystal/ceramic resonators. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11 Figure 8.External clock. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12 Figure 9.Crystal/ceramic resonators(2) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12 Figure 10.Boot mode selection implementation example. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14 Figure 11.Host-to-board connection. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16 Figure 12.JTAG connector implementation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18 Figure 13.Typical layout for V DD/V SS pair . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20 Figure 14.STM32F103ZE(T6) microcontroller reference schematic. . . . . . . . . . . . . . . . . . . . . . . . . . 23Doc ID 13675 Rev 35/27Power supplies AN25866/27 Doc ID 13675 Rev 31 Power supplies1.1 IntroductionThe device requires a 2.0 V to 3.6 V operating voltage supply (V DD ). An embedded regulatoris used to supply the internal 1.8 V digital power.The real-time clock (RTC) and backup registers can be powered from the V BAT voltage when the main V DD supply is powered off.Figure 1.Power supply overviewNote:V DDA and V SSA must be connected to V DD and V SS , respectively.1.1.1 Independent A/D converter supply and reference voltageTo improve conversion accuracy, the ADC has an independent power supply that can be filtered separately, and shielded from noise on the PCB.●the ADC voltage supply input is available on a separate V DDA pin ●an isolated supply ground connection is provided on the V SSA pinWhen available (depending on package), V REF– must be tied to V SSA .On 100-pin and 144-pin packagesTo ensure a better accuracy on low-voltage inputs, the user can connect a separate external reference voltage ADC input on V REF+. The voltage on V REF+ may range from 2.4V to V DDA .A/D converter V DDV SS I/O RingBKP registersTemp. sensor Reset block Standby circuitry PLL(Wakeup logic,IWDG)RTCVoltage regulatorCore memories'digital peripheralsLow voltage detector(V SSA ) V REF–V DDA domain V DD domain 1.8 V domain Backup domainLSE crystal 32 KHz oscillator RCC BDCR register ai14863(from 2.4 V up to V DDA ) V REF+(V DD ) V DDA (V SS ) V SSA(V DD ) V BATAN2586Power suppliesDoc ID 13675 Rev 37/27On packages with 64 pins or lessThe V REF+ and V REF- pins are not available, they are internally connected to the ADCvoltage supply (V DDA ) and ground (V SSA ).1.1.2 Battery backupTo retain the content of the Backup registers when V DD is turned off, the V BAT pin can beconnected to an optional standby voltage supplied by a battery or another source.The V BAT pin also powers the RTC unit, allowing the RTC to operate even when the main digital supply (V DD ) is turned off. The switch to the V BAT supply is controlled by the power down reset (PDR) circuitry embedded in the Reset block.If no external battery is used in the application, it is highly recommended to connect V BAT externally to V DD .1.1.3 Voltage regulatorThe voltage regulator is always enabled after reset. It works in three different modesdepending on the application modes.●in Run mode, the regulator supplies full power to the 1.8 V domain (core, memories and digital peripherals)●in Stop mode, the regulator supplies low power to the 1.8 V domain, preserving the contents of the registers and SRAM●in Standby mode, the regulator is powered off. The contents of the registers and SRAM are lost except for those concerned with the Standby circuitry and the Backup domain.1.2 Power supply schemesThe circuit is powered by a stabilized power supply, V DD .●Caution:–If the ADC is used, the V DD range is limited to 2.4 V to 3.6 V –If the ADC is not used, the V DD range is 2.0 V to 3.6 V●The V DD pins must be connected to V DD with external decoupling capacitors (eleven 100nF Ceramic capacitor + one T antalum or Ceramic capacitor (min. 4.7 µF typ.10µF).●The V BAT pin can be connected to the external battery (1.8 V < V BAT < 3.6 V). If no external battery is used, it is recommended to connect this pin to V DD with a 100nF external ceramic decoupling capacitor.●The V DDA pin must be connected to two external decoupling capacitors (100nF Ceramic + 1 µF Tantalum or Ceramic).●The V REF+ pin can be connected to the V DDA external power supply. If a separate, external reference voltage is applied on V REF+, a 100 nF and a 1 µF capacitors must be connected on this pin. In all cases, V REF+ must be kept between 2.4 V and V DDA .●Additional precautions can be taken to filter analog noise:–V DDA can be connected to V DD trough a ferrite bead.–The V REF+ pin can be connected to V DDA through a resistor (typ. 47Ω).Power suppliesAN25868/27 Doc ID 13675 Rev 31.Optional. If a separate, external reference voltage is connected on V REF+, the two capacitors (100 nF and1µF) must be connected.2.V REF + is either connected to V DDA or to V REF .3.N is the number of V DD and V SS inputs.1.3Reset & power supply supervisor1.3.1Power on reset (POR) / power down reset (PDR)The device has an integrated POR/PDR circuitry that allows proper operation starting from 2V .The device remains in the Reset mode as long as VDD is below a specified threshold, V POR/PDR , without the need for an external reset circuit. For more details concerning the power on/power down reset threshold, refer to the electrical characteristics in the low-density, medium-density, high-density, and connectivity line STM32F10xxx datasheets.AN2586Power suppliesDoc ID 13675 Rev 39/271.3.2 Programmable voltage detector (PVD)Y ou can use the PVD to monitor the V DD power supply by comparing it to a thresholdselected by the PLS[2:0] bits in the Power control register (PWR_CR).The PVD is enabled by setting the PVDE bit.A PVDO flag is available, in the Power control/status register (PWR_CSR), to indicatewhether V DD is higher or lower than the PVD threshold. This event is internally connected to EXTI Line16 and can generate an interrupt if enabled through the EXTI registers. The PVD output interrupt can be generated when V DD drops below the PVD threshold and/or when V DD rises above the PVD threshold depending on the EXTI Line16 rising/falling edge configuration. As an example the service routine can perform emergency shutdown tasks.1.3.3 System resetA system reset sets all registers to their reset values except for the reset flags in the clockcontroller CSR register and the registers in the Backup domain (see Figure 1).A system reset is generated when one of the following events occurs:1. A low level on the NRST pin (external reset)2. window watchdog end-of-count condition (WWDG reset)3. Independent watchdog end-of-count condition (IWDG reset)4. A software reset (SW reset)5.Low-power management resetThe reset source can be identified by checking the reset flags in the Control/Status register, RCC_CSR.Power supplies AN258610/27 Doc ID 13675 Rev 3AN2586ClocksDoc ID 13675 Rev 311/272 ClocksThree different clock sources can be used to drive the system clock (SYSCLK):●HSI oscillator clock (high-speed internal clock signal)●HSE oscillator clock (high-speed external clock signal)●PLL clockThe devices have two secondary clock sources:●40 kHz low-speed internal RC (LSI RC) that drives the independent watchdog and, optionally, the RTC used for Auto-wakeup from the Stop/Standby modes.●32.768 kHz low-speed external crystal (LSE crystal) that optionally drives the real-time clock (RTCCLK)Each clock source can be switched on or off independently when it is not used, to optimize the power consumption.Refer to the STM32F10xxx reference manual RM0008 for a description of the clock tree.2.1 HSE OSC clockThe high-speed external clock signal (HSE) can be generated from two possible clock sources:●HSE external crystal/ceramic resonator (see Figure 7)●HSE user external clock (see Figure 6)1.The value of R EXT depends on the crystal characteristics. Typical value is in the range of 5 to 6 R S(resonator series resistance).2.Load capacitance C L has the following formula: C L = C L1 x C L2 / (C L1 + C L2) + C stray where: C stray is the pincapacitance and board or trace PCB-related capacitance. Typically, it is between 2 pF and 7 pF. Please refer to Section 5: Recommendations on page 19 to minimize its value.2.1.1External source (HSE bypass)In this mode, an external clock source must be provided. It can have a frequency of up to 25MHz for high, medium and low-density devices, and up to 50MHz for connectivity line devices. The external clock signal (square, sine or triangle) with a duty cycle of about 50%,Clocks AN258612/27 Doc ID 13675 Rev 3has to drive the OSC_IN pin while the OSC_OUT pin must be left in the high impedance state (see Figure 7 and Figure 6).2.1.2 External crystal/ceramic resonator (HSE crystal)The external oscillator frequency ranges from 4 to 16MHz on high, medium and low-densitydevices, and from 3 to 25MHz on connectivity line devices.The external oscillator has the advantage of producing a very accurate rate on the main clock. The associated hardware configuration is shown in Figure 7.The resonator and the load capacitors have to be connected as close as possible to the oscillator pins in order to minimize output distortion and startup stabilization time. The load capacitance values must be adjusted according to the selected oscillator.For C L1 and C L2 it is recommended to use high-quality ceramic capacitors in the 5 pF-to-25pF range (typ.), designed for high-frequency applications and selected to meet the requirements of the crystal or resonator. C L1 and C L2, are usually the same value. Thecrystal manufacturer typically specifies a load capacitance that is the series combination of C L1 and C L2. The PCB and MCU pin capacitances must be included when sizing C L1 and C L2 (10 pF can be used as a rough estimate of the combined pin and board capacitance).Refer to the electrical characteristics sections in the high, medium, low-density, and connectivity line STM32F10xxx datasheets for more details.2.2 LSE OSC clockThe low-speed external clock signal (LSE) can be generated from two possible clocksources:●LSE external crystal/ceramic resonator (see Figure 9)●LSE user external clock (see Figure 8)3.The value of R EXT depends on the crystal characteristics. A 0Ω resistor would work but would not beoptimal. T ypical value is in the range of 5 to 6 R S (resonator series resistance). To fine tune R S value refer to AN2867 - Oscillator design guide for ST microcontrollers.(1)(2)1.To avoid exceeding the maximum value of C L1 and C L2 (15 pF) it is strongly recommended to use aresonator with a load capacitance C L ≤ 7 pF. Never use a resonator with a load capacitance of 12.5 pF.2.OSC32_IN and OSC_OUT pins can be used also as GPIO, but it is recommended not to use them asboth RTC and GPIO pins in the same application.(2)AN2586ClocksDoc ID 13675 Rev 313/272.2.1 External source (LSE bypass)In this mode, an external clock source must be provided. It must have a frequency of 32.768kHz. The external clock signal (square, sine or triangle) with a duty cycle of about 50% has to drive the OSC32_IN pin while the OSC32_OUT pin must be left high impedance (see Figure 9 and Figure 8).2.2.2 External crystal/ceramic resonator (LSE crystal)The LSE crystal is a 32.768 kHz low-speed external crystal or ceramic resonator. It has theadvantage of providing a low-power, but highly accurate clock source to the real-time clock peripheral (RTC) for clock/calendar or other timing functions.The resonator and the load capacitors have to be connected as close as possible to the oscillator pins in order to minimize output distortion and start-up stabilization time. The load capacitance values must be adjusted according to the selected oscillator.2.3 Clock security system (CSS)The clock security system can be activated by software. In this case, the clock detector is enabled after the HSE oscillator startup delay, and disabled when this oscillator is stopped.●If a failure is detected on the HSE oscillator clock, the oscillator is automaticallydisabled. A clock failure event is sent to the break input of the TIM1 advanced control timer and an interrupt is generated to inform the software about the failure (clocksecurity system interrupt CSSI), allowing the MCU to perform rescue operations. The CSSI is linked to the Cortex™-M3 NMI (non-maskable interrupt) exception vector.●If the HSE oscillator is used directly or indirectly as the system clock (indirectly means that it is used as the PLL input clock, and the PLL clock is used as the system clock), a detected failure causes a switch of the system clock to the HSI oscillator and thedisabling of the external HSE oscillator. If the HSE oscillator clock (divided or not) is the clock entry of the PLL used as system clock when the failure occurs, the PLL is disabled too.For details, see the STM32F10xxx reference manual available from the STMicroelectronics website .Boot configuration AN258614/27 Doc ID 13675 Rev 33 Boot configuration3.1 Boot mode selectionIn the STM32F10xxx, three different boot modes can be selected by means of theBOOT[1:0] pins as shown in Table 1.The values on the BOOT pins are latched on the 4th rising edge of SYSCLK after a reset. It is up to the user to set the BOOT1 and BOOT0 pins after reset to select the required boot mode.The BOOT pins are also resampled when exiting the Standby mode. Consequently, they must be kept in the required Boot mode configuration in the Standby mode. After this startup delay has elapsed, the CPU fetches the top-of-stack value from address 0x0000 0000, and starts code execution from the boot memory starting from 0x0000 0004.3.2 Boot pin connectionFigure 10 shows the external connection required to select the boot memory of the STM32F10xxx.1.Resistor values are given only as a typical example.Table 1.Boot modesBOOT mode selection pinsBoot mode AliasingBOOT1BOOT0x 0Main Flash memory Main Flash memory is selected as boot space01System memory System memory is selected as boot space11Embedded SRAMEmbedded SRAM is selected as boot spaceAN2586Boot configurationDoc ID 13675 Rev 315/273.3 Embedded Boot Loader modeThe Embedded Boot Loader mode is used to reprogram the Flash memory using one of the available serial interfaces:●In low-, medium- and high-density devices the bootloader is activated through the USART1 interface. For further details please refer to AN2606.●In connectivity line devices the bootloader can be activated through one of the following interfaces: USART1, USART2 (remapped), CAN2 (remapped) or USB OTG FS in Device mode (DFU: device firmware upgrade).The USART peripheral operates with the internal 8 MHz oscillator (HSI). The CAN and USB OTG FS, however, can only function if an external 8 MHz, 14.7456 MHz or 25 MHz clock (HSE) is present. For further details, please refer to AN2662.This embedded boot loader is located in the System memory and is programmed by ST during production.Debug management AN258616/27 Doc ID 13675 Rev 34 Debug management4.1 IntroductionThe Host/Target interface is the hardware equipment that connects the host to theapplication board. This interface is made of three components: a hardware debug tool, a JTAG or SW connector and a cable connecting the host to the debug tool.Figure 11 shows the connection of the host to the evaluation board (STM3210B-EVAL, STM3210C-EVAL, STM3210E-EVAL, or board).Figure 11.Host-to-board connection4.2 SWJ debug port (serial wire and JTAG)The STM32F10xxx core integrates the serial wire / JTAG debug port (SWJ-DP). It is an ARM® standard CoreSight™ debug port that combines a JT AG-DP (5-pin) interface and a SW-DP (2-pin) interface.●The JTAG debug port (JTAG-DP) provides a 5-pin standard JTAG interface to the AHP-AP port●The serial wire debug port (SW-DP) provides a 2-pin (clock + data) interface to the AHP-AP portIn the SWJ-DP , the two JTAG pins of the SW-DP are multiplexed with some of the five JTAG pins of the JTAG-DP .4.3 Pinout and debug port pinsThe STM32F10xxx MCU is offered in various packages with different numbers of available pins. As a result, some functionality related to the pin availability may differ from one package to another.4.3.1 SWJ debug port pinsFive pins are used as outputs for the SWJ-DP as alternate functions of general-purpose I/Os (GPIOs). These pins, shown in Table 2, are available on all packages.STM3210B-EVAL or STM3210E-EVALHost PCPower supplyJTAG/SW connectorDebug toolai14866AN2586Debug managementDoc ID 13675 Rev 317/274.3.2 Flexible SWJ-DP pin assignmentAfter reset (SYSRESETn or PORESETn), all five pins used for the SWJ-DP are assigned as dedicated pins immediately usable by the debugger host (note that the trace outputs are not assigned except if explicitly programmed by the debugger host).However, the STM32F10xxx MCU implements a register to disable some part or all of the SWJ-DP port, and so releases the associated pins for general-purpose I/Os usage. This register is mapped on an APB bridge connected to the Cortex™-M3 system bus. This register is programmed by the user software program and not by the debugger host.Table 3 shows the different possibilities to release some pins.For more details, see the STM32F10xxx reference manual, available from the STMicroelectronics website .4.3.3 Internal pull-up and pull-down resistors on JTAG pinsThe JTAG input pins must not be floating since they are directly connected to flip-flops to control the debug mode features. Special care must be taken with the SWCLK/TCK pin that is directly connected to the clock of some of these flip-flops.Table 2.Debug port pin assignmentSWJ-DP pin nameJTAG debug portSW debug portPinassignment TypeDescription Type Debug assignment JTMS/SWDIO I JTAG test mode selection I/O Serial wire data input/output P A13JTCK/SWCLK I JTAG test clock I Serial wire clock P A14JTDII JTAG test data input --P A15JTDO/TRACESWO O JTAG test data output -TRACESWO if async traceis enabled PB3JNTRSTIJTAG test nReset--PB4Table 3.SWJ I/O pin availabilityAvailable Debug portsSWJ I/O pin assignedPA13 /JTMS/SWDIO PA14 /JTCK/SWCLK PA15 /JTDI PB3 / JTDO PB4/JNTRSTFull SWJ (JTAG-DP + SW-DP) - reset state X X X X XFull SWJ (JTAG-DP + SW-DP) but without JNTRSTX X XXJT AG-DP disabled and SW-DP enabled XX JT AG-DP disabled and SW-DP disabledReleasedDebug management AN2586 To avoid any uncontrolled I/O levels, the STM32F10xxx embeds internal pull-up and pull-down resistors on JTAG input pins:●JNTRST: Internal pull-up●JTDI: Internal pull-up●JTMS/SWDIO: Internal pull-up●TCK/SWCLK: Internal pull-downOnce a JTAG I/O is released by the user software, the GPIO controller takes control again.The reset states of the GPIO control registers put the I/Os in the equivalent state:●JNTRST: Input pull-up●JTDI: Input pull-up●JTMS/SWDIO: Input pull-up●JTCK/SWCLK: Input pull-down●JTDO: Input floatingThe software can then use these I/Os as standard GPIOs.Note:The JT AG IEEE standard recommends to add pull-up resistors on TDI, TMS and nTRST but there is no special recommendation for TCK. However, for the STM32F10xxx, an integratedpull-down resistor is used for JTCK.Having embedded pull-up and pull-down resistors removes the need to add externalresistors.4.3.4 SWJ debug port connection with standard JTAG connectorFigure12 shows the connection between the STM32F10xxx and a standard JT AGconnector.18/27 Doc ID 13675 Rev 3。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

AN2586Application noteSTM32F10xxx hardware development:getting startedIntroductionThis application note is intended for system designers who require a hardwareimplementation overview of the development board features such as the power supply, theclock management, the reset control, the boot mode settings and the debug management. Itshows how to use the STM32F10xxx product family and describes the minimum hardwareresources required to develop an STM32F10xxx application.Detailed reference design schematics are also contained in this document with descriptionsof the main components, interfaces and modes.July 2007 Rev 11/23Contents AN2586 - Application noteContents1Power supplies . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61.1Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61.1.1Independent A/D converter supply and reference voltage . . . . . . . . . . . . 61.1.2Battery backup . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 71.1.3Voltage regulator . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 71.2Power supply schemes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 71.3Reset & power supply supervisor . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 81.3.1Power on reset (POR) / power down reset (PDR) . . . . . . . . . . . . . . . . . . 81.3.2Programmable voltage detector (PVD) . . . . . . . . . . . . . . . . . . . . . . . . . . 91.3.3System reset . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 92Clocks . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 112.1HSE OSC clock . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 122.1.1External source (HSE bypass) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 122.1.2External crystal/ceramic resonator (HSE crystal) . . . . . . . . . . . . . . . . . 122.2LSE OSC clock . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 132.2.1External source (LSE bypass) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 132.2.2External crystal/ceramic resonator (LSE crystal) . . . . . . . . . . . . . . . . . . 132.3Clock-out capability . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 132.4Clock security system (CSS) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 143Boot configuration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 153.1Boot mode selection . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 153.2Boot pin connection . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 153.3Embedded Boot Loader mode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 164Debug management . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 174.1Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 174.2SWJ debug port (serial wire and JTAG) . . . . . . . . . . . . . . . . . . . . . . . . . . 174.3Pinout and debug port pins . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 174.3.1SWJ debug port pins . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 174.3.2Flexible SWJ-DP pin assignment . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 184.3.3Internal pull-up and pull-down on JTAG pins . . . . . . . . . . . . . . . . . . . . . 18 2/23AN2586 - Application note Contents4.3.4SWJ debug port connection with Standard JTAG connector . . . . . . . . . 195Reference design . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 205.1Main . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 205.1.1Clock . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 205.1.2Reset . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 205.1.3Boot mode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 205.2SWJ interface . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 205.3Power supply . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20 6Revision history . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 223/23List of tables AN2586 - Application note List of tablesTable 1.Boot modes. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15 Table 2.Debug port pin assignment. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18 Table 3.SWJ I/O pin availability. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18 Table 4.Document revision history . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22 4/23AN2586 - Application note List of figures List of figuresFigure 1.Power supply overview. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6 Figure 2.Power supply scheme. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8 Figure 3.Power on reset/power down reset waveform . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8 Figure 4.PVD thresholds. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9 Figure 5.Reset circuit . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10 Figure 6.Clock overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11 Figure 7.External clock. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12 Figure 8.Crystal/ceramic resonators. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12 Figure 9.External clock. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13 Figure 10.Crystal/ceramic resonators. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13 Figure 11.Boot mode selection implementation example. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15 Figure 12.Host-to-board connection. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17 Figure 13.JTAG connector implementation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19 Figure 14.STM32F10xxx microcontroller reference schematic. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 215/23Power supplies AN2586 - Application note6/231 Power supplies1.1 IntroductionThe device requires a 2.0 V to 3.6 V operating voltage supply (V DD ). An embedded regulatoris used to supply the internal 1.8 V digital power.The real-time clock (RTC) and backup registers can be powered from the V BAT voltage when the main V DD supply is powered off.1.1.1 Independent A/D converter supply and reference voltageTo improve conversion accuracy, the ADC has an independent power supply that can be filtered separately, and shielded from noise on the PCB.●the ADC voltage supply input is available on a separate V DDA pin ●an isolated supply ground connection is provided on the V SSA pinWhen available (depending on package), V REF– must be tied to V SSA .On 100-pin packagesTo ensure a better accuracy on low-voltage inputs, the user can connect a separate external reference voltage ADC input on V REF+. The voltage on V REF+ may range from 2.0V to V DDA .AN2586 - Application note Power supplies7/23On packages with 64 pins or lessThe V REF+ and V REF- pins are not available, they are internally connected to the ADC voltage supply (V DDA ) and ground (V SSA ).1.1.2 Battery backupTo retain the content of the Backup registers when V DD is turned off, the V BAT pin can beconnected to an optional standby voltage supplied by a battery or another source.The V BAT pin also powers the RTC unit, allowing the RTC to operate even when the main digital supply (V DD ) is turned off. The switch to the V BAT supply is controlled by the power down reset (PDR) circuitry embedded in the Reset block.If no external battery is used in the application, V BAT must be connected externally to V DD .1.1.3 Voltage regulatorThe voltage regulator is always enabled after reset. It works in three different modesdepending on the application modes.●in Run mode, the regulator supplies full power to the 1.8 V domain (core, memories and digital peripherals)●in Stop mode, the regulator supplies low power to the 1.8 V domain, preserving the contents of the registers and SRAM●in Standby mode, the regulator is powered off. The contents of the registers and SRAM are lost except for those concerned with the Standby circuitry and the Backup domain.1.2 Power supply schemesThe circuit is powered by a stabilized power supply, V DD .●Caution:–If the ADC is used, the V DD range is limited to 2.4 V to 3.6 V –If the ADC is not used, the V DD range is 2 V to 3.6 V●The V DD pins must be connected to V DD with external stabilization capacitors (five 100nF ceramic capacitor + one T antalum capacitor (min. 4.7 µF typ.10 µF).●The V BAT pin must be connected to the external battery (1.8 V < V BAT < 3.6 V). if no external battery is used, this pin must be connected to V DD with a 100nF external ceramic stabilization capacitor.●The V DDA pin must be connected to two external stabilization capacitors (10nF ceramic + 1 µF Tantalum).●The V REF+ pin can be connected to the V DDA external power supply. If a separate, external reference voltage is applied on V REF+, two 10 nF and 1 µF capacitors must be connected on this pin. In all cases, V REF+ must be kept between 2.0 V and V DDA .Power suppliesAN2586 - Application note8/231.Optional. If a separate, external reference voltage is connected on V REF+, the two capacitors (10 nF and1µF) must be connected.2.V REF + is either connected to V DDA or to V REF .1.3Reset & power supply supervisor1.3.1Power on reset (POR) / power down reset (PDR)The device has an integrated POR/PDR circuitry that allows proper operation starting from 2V .The device remains in the Reset mode as long as V DD is below a specified threshold, V POR/PDR, without the need for an external reset circuit. For more details concerning the power on/power down reset threshold, refer to the electrical characteristics in the STM32F101xx and STM32F103xx datasheets.AN2586 - Application note Power supplies9/231.3.2 Programmable voltage detector (PVD)Y ou can use the PVD to monitor the V DD power supply by comparing it to a thresholdselected by the PLS[2:0] bits in the Power control register (PWR_CR).The PVD is enabled by setting the PVDE bit.A PVDO flag is available, in the Power control/status register (PWR_CSR), to indicatewhether V DD is higher or lower than the PVD threshold. This event is internally connected to EXTI Line16 and can generate an interrupt if enabled through the EXTI registers. The PVD output interrupt can be generated when V DD drops below the PVD threshold and/or when V DD rises above the PVD threshold depending on the EXTI Line16 rising/falling edge configuration. As an example the service routine can perform emergency shutdown tasks.1.3.3 System resetA system reset sets all registers to their reset values except for the reset flags in the clockcontroller CSR register and the registers in the Backup domain (see Figure 1).A system reset is generated when one of the following events occurs:1. A low level on the NRST pin (external reset)2. window watchdog end-of-count condition (WWDG reset)3. Independent watchdog end-of-count condition (IWDG reset)4. A software reset (SW reset)5.Low-power management resetThe reset source can be identified by checking the reset flags in the Control/Status register, RCC_CSR.Power supplies AN2586 - Application note10/232 ClocksThree different clock sources can be used to drive the system clock (SYSCLK):●HSI oscillator clock (high speed internal clock signal)●HSE oscillator clock (high speed external clock signal)●PLL clockThe devices have two secondary clock sources:●32 kHz low speed internal RC (LSI RC) that drives the independent watchdog and,optionally, the RTC used for Auto Wake-up from the Stop/Standby modes.●32.768 kHz low speed external crystal (LSE crystal) that optionally drives the real-timeclock (RTCCLK)Each clock source can be switched on or off independently when it is not used, to optimizethe power consumption.1.HSE = High-speed external clock signal; HSI = high-speed internal clock signal; LSI = low-speed internalclock signal; LSE = low-speed external clock signal.11/232.1 HSE OSC clockThe high speed external clock signal (HSE) can be generated from two possible clocksources:●HSE external crystal/ceramic resonator (see Figure8)●HSE user external clock (see Figure7)1.C L1 and C L2 represent the load capacitances.2.The value of R EXT depends on the crystal characteristics. Typical value is in the range of 5 to 6 R S(resonator series resistance).2.1.1 External source (HSE bypass)In this mode, an external clock source must be provided. It can have a frequency of up to25MHz. The external clock signal (square, sine or triangle) with a duty cycle of about 50%,has to drive the OSC_IN pin while the OSC_OUT pin must be left in the high impedancestate (see Figure8 and Figure7).crystal/ceramic resonator (HSE crystal)2.1.2 ExternalThe 4-to-16 MHz external oscillator has the advantage of producing a very accurate rate onthe main clock. The associated hardware configuration is shown in Figure8.The resonator and the load capacitors have to be connected as close as possible to theoscillator pins in order to minimize output distortion and startup stabilization time. The loadcapacitance values must be adjusted according to the selected oscillator.For C L1 and C L2 it is recommended to use high-quality ceramic capacitors in the 5 pF-to-25pF range (typ.), designed for high-frequency applications and selected to meet therequirements of the crystal or resonator. C L1 and C L2, are usually the same value. Thecrystal manufacturer typically specifies a load capacitance that is the series combination ofC L1 and C L2. The PCB and MCU pin capacitances must be included when sizing C L1 andC L2 (10 pF can be used as a rough estimate of the combined pin and board capacitance).Refer to the electrical characteristics sections in the STM32F101xx and STM32F103xxdatasheets for more details.12/2313/232.2 LSE OSC clockThe low-speed external clock signal (LSE) can be generated from two possible clocksources:●LSE external crystal/ceramic resonator (see Figure 10)●LSE user external clock (see Figure 9)2.2.1 External source (LSE bypass)In this mode, an external clock source must be provided. It must have a frequency of 32.768kHz. The external clock signal (square, sine or triangle) with a duty cycle of about 50% has to drive the OSC32_IN pin while the OSC32_OUT pin must be left high impedance (see Figure 10 and Figure 9).2.2.2 External crystal/ceramic resonator (LSE crystal)The LSE crystal is a 32.768 kHz low speed external crystal or ceramic resonator. It has theadvantage of providing a low-power, but highly accurate clock source to the real-time clock peripheral (RTC) for clock/calendar or other timing functions.The resonator and the load capacitors have to be connected as close as possible to the oscillator pins in order to minimize output distortion and start-up stabilization time. The load capacitance values must be adjusted according to the selected oscillator.2.3 Clock-out capabilityThe microcontroller clock output (MCO) capability allows the clock to be output onto theexternal MCO pin. The configuration registers of the corresponding GPIO port must be programmed in alternate function mode. One out of four clock signals can be selected as the MCO clock:●SYSCLK ●HSI ●HSE●PLL clock divided by 22.4 Clock security system (CSS)The clock security system can be activated by software. In this case, the clock detector isenabled after the HSE oscillator startup delay, and disabled when this oscillator is stopped.●If a failure is detected on the HSE oscillator clock, the oscillator is automaticallydisabled. A clock failure event is sent to the break input of the TIM1 advanced controltimer and an interrupt is generated to inform the software about the failure (clocksecurity system interrupt CSSI), allowing the MCU to perform rescue operations. TheCSSI is linked to the Cortex™-M3 NMI (non-maskable interrupt) exception vector.●If the HSE oscillator is used directly or indirectly as the system clock (indirectly meansthat it is used as the PLL input clock, and the PLL clock is used as the system clock), adetected failure causes a switch of the system clock to the HSI oscillator and thedisabling of the external HSE oscillator. If the HSE oscillator clock (divided or not) is theclock entry of the PLL used as system clock when the failure occurs, the PLL isdisabled too.For details, see reference manual UM0306 available from the STMicroelectronics website.14/23AN2586 - Application note Boot configuration15/233 Boot configuration3.1 Boot mode selectionIn the STM32F10xxx, three different boot modes can be selected by means of theBOOT[1:0] pins as shown in Table 1.This selection aliases the physical memory associated with each boot mode to Block 000 (boot memory). The values on the BOOT pins are latched on the 4th rising edge of SYSCLK after a reset. It is up to the user to set the BOOT1 and BOOT0 pins after reset to select the required boot mode.The BOOT pins are also re-sampled when exiting the Standby mode. Consequently, they must be kept in the required Boot mode configuration in the Standby mode.Even when aliased in the boot memory space, the related memory (Flash memory or SRAM) is still accessible at its original memory space.After this startup delay has elapsed, the CPU starts code execution from the boot memory, located at the bottom of the memory address space starting from 0x0000_0000.3.2 Boot pin connectionFigure 11 shows the external connection required to select the boot memory of the STM32F10xxx.1.Resistor values are given only as a typical example.Table 1.Boot modesBOOT mode selection pinsBoot mode AliasingBOOT1BOOT0x 0User Flash memory User Flash memory is selected as boot space01System memory System memory is selected as boot space11Embedded SRAMEmbedded SRAM is selected as boot spaceBoot configuration AN2586 - Application note3.3 Embedded Boot Loader modeThe Embedded Boot Loader mode is used to reprogram the Flash memory using one of theserial interfaces (typically a UART). This program is located in the system memory and isprogrammed by ST during production.For details, refer to the STM32F10xxx Flash programming manual, PM0042, available fromthe STMicroelectronics website, .16/23AN2586 - Application note Debug management17/234 Debug management4.1 IntroductionThe Host/Target interface is the hardware equipment that connects the host to theapplication board. This interface is made of three components: a hardware debug tool, a JTAG or SW connector and a cable connecting the host to the debug tool.Figure 12 shows the connection of the host to the STM3210B-EVAL board.Figure 12.Host-to-board connection4.2 SWJ debug port (serial wire and JTAG)The STM32F10xxx core integrates the serial wire / JTAG debug port (SWJ-DP). It is an ARM® standard CoreSight™ debug port that combines a JT AG-DP (5-pin) interface and a SW-DP (2-pin) interface.●The JTAG debug port (JTAG-DP) provides a 5-pin standard JTAG interface to the AHP-AP port●The serial wire debug port (SW-DP) provides a 2-pin (clock + data) interface to the AHP-AP portIn the SWJ-DP , the two JTAG pins of the SW-DP are multiplexed with some of the five JTAG pins of the JTAG-DP .4.3 Pinout and debug port pinsThe STM32F10xxx MCU is offered in various packages with different numbers of available pins. As a result, some functionality related to the pin availability may differ from one package to another.4.3.1 SWJ debug port pinsFive pins are used as outputs for the SWJ-DP as alternate functions of general-purpose I/Os (GPIOs). These pins, shown in Table 2, are available on all packages.STM3210B-EVALHost PCPower supplyJTAG/SW connectorDebug toolai14374Debug managementAN2586 - Application note18/234.3.2 Flexible SWJ-DP pin assignmentAfter reset (SYSRESETn or PORESETn), all five pins used for the SWJ-DP are assigned as dedicated pins immediately usable by the debugger host (note that the trace outputs are not assigned except if explicitly programmed by the debugger host).However, the STM32F10xxx MCU implements a register to disable some part or all of the SWJ-DP port, and so releases the associated pins for general-purpose I/Os usage. This register is mapped on an APB bridge connected to the Cortex™-M3 system bus. This register is programmed by the user software program and not by the debugger host.Table 3 shows the different possibilities to release some pins.For more details, see the STM32F10xxx reference manual, UM0306, available from the STMicroelectronics website .4.3.3 Internal pull-up and pull-down on JTAG pinsThe JTAG input pins must not be floating since they are directly connected to flip-flops to control the debug mode features. Special care must be taken with the SWCLK/TCK pin that is directly connected to the clock of some of these flip-flops.Table 2.Debug port pin assignmentSWJ-DP pin nameJTAG debug portSW debug portPinassignment TypeDescription Type Debug assignment JTMS/SWDIO I JTAG Test Mode Selection I/O Serial Wire Data Input/Output P A13JTCK/SWCLK I JTAG Test Clock I Serial Wire Clock P A14JTDIIJTAG Test Data Input--P A15JTDO/TRACESWO O JTAG Test Data Output -TRACESWO if async traceis enabled PB3JNTRSTIJTAG Test nReset--PB4Table 3.SWJ I/O pin availabilityAvailable Debug portsSWJ I/O pin assignedPA13 /JTMS/SWDIO PA14 /JTCK/SWCLKPA15 /JTDI PB3 / JTDO PB4/JNTRSTFull SWJ (JTAG-DP + SW-DP) - reset state X X X X XFull SWJ (JTAG-DP + SW-DP) but without JNTRSTX X XXJTAG-DP disabled and SW-DP enabled XX JTAG-DP disabled and SW-DP disabledReleasedAN2586 - Application note Debug management To avoid any uncontrolled I/O levels, the STM32F10xxx embeds internal pull-up and pull-down resistors on JTAG input pins:●JNTRST: Internal pull-up●JTDI: Internal pull-up●JTMS/SWDIO: Internal pull-up●TCK/SWCLK: Internal pull-downOnce a JTAG I/O is released by the user software, the GPIO controller takes control again.The reset states of the GPIO control registers put the I/Os in the equivalent state:●JNTRST: Input pull-up●JTDI: Input pull-up●JTMS/SWDIO: Input pull-up●JTCK/SWCLK: Input pull-down●JTDO: Input floatingThe software can then use these I/Os as standard GPIOs.Note:The JT AG IEEE standard recommends to add pull-up resistors on TDI, TMS and nTRST but there is no special recommendation for TCK. However, for the STM32F10xxx, an integratedpull-down resistor is used for JTCK.Having embedded pull-up and pull-down resistors removes the need to add externalresistors.4.3.4 SWJ debug port connection with Standard JTAG connectorFigure13 shows the connection between the STM32F10xxx and a standard JT AGconnector.19/23Reference design AN2586 - Application note20/235 Reference design5.1 MainThe reference design shown in Figure 14, is based on the STM32F10xxx, a highlyintegrated microcontroller running at 72 MHz, that combines the new Cortex ™-M3 32-bit RISC CPU core with 128 Kbytes of embedded Flash memory and up to 20 Kbytes of high speed SRAM .5.1.1 ClockTwo clock sources are used for the microcontroller:●X1– 32.768 kHz crystal for the embedded RTC●X2– 8 MHz crystal for the STM32F10xxx microcontrollerRefer to Section 2: Clocks on page 11.5.1.2 ResetThe reset signal in Figure 14 is active low. The reset sources include:●Reset button (B1)●Debugging tools via the connector CN1Refer to Section 1.3: Reset & power supply supervisor on page 8.5.1.3 Boot modeThe STM32F10xxx is able to boot from the:●embedded user Flash memory ●embedded SRAM for debugging ●system memoryThe boot option is configured by setting switches SW2 (Boot 0) and SW1 (Boot 1). Refer toSection 3: Boot configuration on page 15.5.2 SWJ interfaceThe STM32F10xxx core integrates the serial wire / JTAG debug port (SWJ-DP). Thereference design shows the connection between the STM32F10xxx and a standard JT AG connector. Refer to Section 4: Debug management on page 17.5.3 Power supplyRefer to Section 1: Power supplies on page 6.AN2586 - Application note Reference design21/23Revision history AN2586 - Application note22/236 Revision historyTable 4.Document revision historyDate RevisionChanges12-Jul-20071Initial release.AN2586 - Application notePlease Read Carefully:Information in this document is provided solely in connection with ST products. STMicroelectronics NV and its subsidiaries (“ST”) reserve the right to make changes, corrections, modifications or improvements, to this document, and the products and services described herein at any time, without notice.All ST products are sold pursuant to ST’s terms and conditions of sale.Purchasers are solely responsible for the choice, selection and use of the ST products and services described herein, and ST assumes no liability whatsoever relating to the choice, selection or use of the ST products and services described herein.No license, express or implied, by estoppel or otherwise, to any intellectual property rights is granted under this document. If any part of this document refers to any third party products or services it shall not be deemed a license grant by ST for the use of such third party products or services, or any intellectual property contained therein or considered as a warranty covering the use in any manner whatsoever of such third party products or services or any intellectual property contained therein.UNLESS OTHERWISE SET FORTH IN ST’S TERMS AND CONDITIONS OF SALE ST DISCLAIMS ANY EXPRESS OR IMPLIED WARRANTY WITH RESPECT TO THE USE AND/OR SALE OF ST PRODUCTS INCLUDING WITHOUT LIMITATION IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE (AND THEIR EQUIVALENTS UNDER THE LAWS OF ANY JURISDICTION), OR INFRINGEMENT OF ANY PATENT, COPYRIGHT OR OTHER INTELLECTUAL PROPERTY RIGHT. UNLESS EXPRESSLY APPROVED IN WRITING BY AN AUTHORIZED ST REPRESENTATIVE, ST PRODUCTS ARE NOT RECOMMENDED, AUTHORIZED OR WARRANTED FOR USE IN MILITARY, AIR CRAFT, SPACE, LIFE SAVING, OR LIFE SUSTAINING APPLICATIONS, NOR IN PRODUCTS OR SYSTEMS WHERE FAILURE OR MALFUNCTION MAY RESULT IN PERSONAL INJURY, DEATH, OR SEVERE PROPERTY OR ENVIRONMENTAL DAMAGE. ST PRODUCTS WHICH ARE NOT SPECIFIED AS "AUTOMOTIVE GRADE" MAY ONLY BE USED IN AUTOMOTIVE APPLICATIONS AT USER’S OWN RISK.Resale of ST products with provisions different from the statements and/or technical features set forth in this document shall immediately void any warranty granted by ST for the ST product or service described herein and shall not create or extend in any manner whatsoever, any liability of ST.ST and the ST logo are trademarks or registered trademarks of ST in various countries.Information in this document supersedes and replaces all information previously supplied.The ST logo is a registered trademark of STMicroelectronics. All other names are the property of their respective owners.© 2007 STMicroelectronics - All rights reservedSTMicroelectronics group of companiesAustralia - Belgium - Brazil - Canada - China - Czech Republic - Finland - France - Germany - Hong Kong - India - Israel - Italy - Japan - Malaysia - Malta - Morocco - Singapore - Spain - Sweden - Switzerland - United Kingdom - United States of America23/23。

相关文档
最新文档