嵌入式系统设计STM32资料.pptx
《嵌入式系统设计STM32资料.pptx》由会员分享,可在线阅读,更多相关《嵌入式系统设计STM32资料.pptx(100页珍藏版)》请在咨信网上搜索。
1、第第2讲讲 STM32最小系统最小系统下周一下午实验,带上笔记本电脑下周一下午实验,带上笔记本电脑n熟悉软件开发环境熟悉软件开发环境n笔记本需要安装的软件有:笔记本需要安装的软件有:nMDK4.70anSTM32固件库固件库V3.5nJLINK驱动驱动nPL2303驱动(驱动(USB转串口驱动)转串口驱动)nmcuisp.exe(STMISP下载器下载器)n串口调试助手串口调试助手n固件库使用手册固件库使用手册nSTM32中文参考手册中文参考手册_V10目录目录n2.1STM32程序设计程序设计n2.1.1嵌入式嵌入式C语言知识精编语言知识精编n2.1.2嵌入式软件层次结构嵌入式软件层次结构n
2、2.1.3FWlib(firmwarelibrary)固件库)固件库n2.2STM32最小系统最小系统n2.2.1电源电源n2.2.2复位电路复位电路n2.2.3时钟时钟n2.2.4下载电路下载电路n2.3STM32时钟配置时钟配置n2.4ARMCortex-M3处理器编程环境处理器编程环境(RealViewMDK)2.1 STM32程序设计程序设计2.1.1嵌入式嵌入式C语言知识精编语言知识精编n关键字关键字nTypedef:给一个已经存在的数据类型取一个别名给一个已经存在的数据类型取一个别名nConst:常数常数nVolatile:变量,:变量,随时可能发生变化的。随时可能发生变化的。n符
3、号符号参见表参见表3-2。n预处理预处理参见表参见表3-3。2.1.2 嵌入式软件层次结构嵌入式软件层次结构nPC体系结构(图体系结构(图3-2)n嵌入式系统体系结构(图嵌入式系统体系结构(图3-3)n改进的嵌入式系统体系结构(图改进的嵌入式系统体系结构(图3-4)n虚拟虚拟BIOSn虚拟虚拟DOSn高端用户程序中的子程序高端用户程序中的子程序2.1.3 FWlib(firmware library)固件库)固件库n该函数库是一个固件函数包,它由程序、数据结构和宏组该函数库是一个固件函数包,它由程序、数据结构和宏组成,包括了微控制器所有外设的性能特征。成,包括了微控制器所有外设的性能特征。n该
4、函数库还包括每一个外设的驱动描述和应用实例。通过该函数库还包括每一个外设的驱动描述和应用实例。通过使用本固件函数库,无需深入掌握细节,用户也可以轻松使用本固件函数库,无需深入掌握细节,用户也可以轻松应用每一个外设。应用每一个外设。n因此,使用本固态函数库可以大大减少用户的程序编写时因此,使用本固态函数库可以大大减少用户的程序编写时间,进而降低开发成本。间,进而降低开发成本。n每个外设驱动都由一组函数组成,这组函数覆盖了该外设每个外设驱动都由一组函数组成,这组函数覆盖了该外设所有功能。每个器件的开发都由一个通用所有功能。每个器件的开发都由一个通用API(applicationprogrammin
5、ginterface应用编程界面应用编程界面)驱驱动,动,API对该驱动程序的结构,函数和参数名称都进行了对该驱动程序的结构,函数和参数名称都进行了标准化。标准化。n现在用的固件库版本是现在用的固件库版本是stm32固件库固件库V3.5,可以网上下载。可以网上下载。文档和库规范文档和库规范一、缩写一、缩写缩写缩写外设外设/单元单元GPIO通用输入通用输入/输出输出NVIC嵌套中断向量列表控制器嵌套中断向量列表控制器EXTI外部中断事件控制器外部中断事件控制器RCC复位与时钟控制器复位与时钟控制器SysTick系统嘀嗒定时器系统嘀嗒定时器TIM通用定时器通用定时器USART通用同步异步接收发射端
6、通用同步异步接收发射端二、命名规则二、命名规则固态函数库遵从以下命名规则:固态函数库遵从以下命名规则:1.PPP表示任一外设缩写,例如:表示任一外设缩写,例如:ADC。2.源程序文件和头文件命名都以源程序文件和头文件命名都以“stm32f10 x_”作为开头,例如:作为开头,例如:stm32f10 x_conf.h。3.常量仅被应用于一个文件的,定义于该文件中;被应用于多个文常量仅被应用于一个文件的,定义于该文件中;被应用于多个文件的,在对应头文件中定义。所有常量都由英文字母大写书写。件的,在对应头文件中定义。所有常量都由英文字母大写书写。寄存器作为常量处理。他们的命名都由英文字母大写书写。寄
7、存器作为常量处理。他们的命名都由英文字母大写书写。4.外设函数的命名以该外设的缩写加下划线为开头。每个单词的第外设函数的命名以该外设的缩写加下划线为开头。每个单词的第一个字母都由英文字母大写书写,例如:一个字母都由英文字母大写书写,例如:SPI_SendData。在函。在函数名中,只允许存在一个下划线,用以分隔外设缩写和函数名的数名中,只允许存在一个下划线,用以分隔外设缩写和函数名的其它部分。其它部分。4.名为名为PPP_Init的函数,其功能是根据的函数,其功能是根据PPP_InitTypeDef中指定的参数,中指定的参数,初始化外设初始化外设PPP5.名为名为PPP_DeInit的函数,其
8、功能为复位外设的函数,其功能为复位外设PPP的所有寄存器至缺的所有寄存器至缺省值,例如省值,例如TIM_DeInit.名为名为PPP_StructInit的函数,其功能为通过的函数,其功能为通过设置设置PPP_InitTypeDef结构中的各种参数来定义外设的功能,例如:结构中的各种参数来定义外设的功能,例如:USART_StructInit6.名为名为PPP_Cmd的函数,其功能为使能或者失能外设的函数,其功能为使能或者失能外设PPP,例如:,例如:SPI_Cmd.7.名为名为PPP_ITConfig的函数,其功能为使能或者失能来自外设的函数,其功能为使能或者失能来自外设PPP某某中断源,例
9、如:中断源,例如:RCC_ITConfig.8.名为名为PPP_DMAConfig的函数,其功能为使能或者失能外设的函数,其功能为使能或者失能外设PPP的的DMA接口,例如:接口,例如:TIM1_DMAConfig.用以配置外设功能的用以配置外设功能的函数,总是以字符串函数,总是以字符串“Config”结尾,例如结尾,例如GPIO_PinRemapConfig.9.名为名为PPP_GetFlagStatus的函数,其功能为检查外设的函数,其功能为检查外设PPP某标某标志位被设置与否,例如:志位被设置与否,例如:I2C_GetFlagStatus.10.名为名为PPP_ClearFlag的函数,
10、其功能为清除外设的函数,其功能为清除外设PPP标志位,标志位,例如:例如:I2C_ClearFlag.11.名为名为PPP_GetITStatus的函数,其功能为判断来自外设的函数,其功能为判断来自外设PPP的的中断发生与否,例如:中断发生与否,例如:I2C_GetITStatus.12.名为名为PPP_ClearITPendingBit的函数,其功能为清除外设的函数,其功能为清除外设PPP中断待处理标志位,例如:中断待处理标志位,例如:I2C_ClearITPendingBit.三、编码规则三、编码规则n变量变量固态函数库定义了固态函数库定义了2424个变量类型,他们的类型和大小是个变量类型
11、,他们的类型和大小是固定的。固定的。在文件在文件stm32f10 x_type.hstm32f10 x_type.h中我们定义了这些变量:中我们定义了这些变量:typedef signed long s32;typedef signed long s32;typedef signed short s16;typedef signed short s16;typedef signed char s8;typedef signed char s8;typedef unsigned long u32;typedef unsigned long u32;typedef unsigned short u
12、16;typedef unsigned short u16;typedef unsigned char u8;typedef unsigned char u8;。n布尔型布尔型在文件在文件stm32f10 x_type.h中,布尔形变量被定中,布尔形变量被定义如下:义如下:typedef enum FALSE=0,TRUE=!FALSE bool;n标志位状态类型在文件在文件stm32f10 x_type.h中,定义标志位类型中,定义标志位类型(FlagStatustype)的)的2个可能值为个可能值为“设置设置”与与“重置重置”(SETorRESET)。)。typedef enum RESE
13、T=0,SET=!RESET FlagStatus;n功能状态类型功能状态类型在文件在文件stm32f10 x_type.h中,我们定义功能状态中,我们定义功能状态类型(类型(FunctionalState type)的)的2个可能值为个可能值为“使能使能”与与“失能失能”(ENABLE or DISABLE)。)。typedef enum DISABLE=0,ENABLE=!DISABLE FunctionalState;n错误状态类型错误状态类型在文件在文件stm32f10 x_type.h中,定义错误状态类型中,定义错误状态类型(ErrorStatus type)的)的2个可能值为个可能
14、值为“成功成功”与与“出错出错”(SUCCESS or ERROR)。)。typedef enum ERROR=0,SUCCESS=!ERROR ErrorStatus;n外设用户可以通过指向各外设用户可以通过指向各个外设的指针访问各外设个外设的指针访问各外设的控制寄存器。这些指针的控制寄存器。这些指针所指向的数据结构与各个所指向的数据结构与各个外设的控制寄存器布局一外设的控制寄存器布局一一对应。一对应。n外设控制寄存器结构外设控制寄存器结构文件文件stm32f10 x_map.h包含了包含了所有外设控制寄存器的结所有外设控制寄存器的结构。构。n例如例如SPI寄存器结构的声明:寄存器结构的声明
15、:2.2 STM32最小系统最小系统n能让单片机工作的最小单元,即是最小系统。2.2.1电源电源STM32F103VBn开发板上,可以开发板上,可以DC5V,或者或者USB5V,一般用电脑一般用电脑USB口供电。口供电。nR1:保险电阻:保险电阻nC1、C2:滤波电容:滤波电容nAMS1117-3.3:把把5V转换成转换成3.3Vn三端可调或固定电压三端可调或固定电压3.3V,n输出电流为输出电流为1A,n线路调整率:线路调整率:0.2%(最大)(最大)n负载调整率:负载调整率:0.4%(最大)(最大)2.2.2 复位电路复位电路STM32支持支持3种复位:系统复位、上电复位、备份区域复位。种
16、复位:系统复位、上电复位、备份区域复位。当以下事件中的一件发生时,产生系统复位:当以下事件中的一件发生时,产生系统复位:n1.NRST管脚上的低电平管脚上的低电平(外部复位外部复位)n2.窗口看门狗计数终止窗口看门狗计数终止(WWDG复位复位)n3.独立看门狗计数终止独立看门狗计数终止(IWDG复位复位)n4.软件复位软件复位(SW复位复位)n5.低功耗管理复位低功耗管理复位NRST当以下事件中之一发生时,产生电源复位:当以下事件中之一发生时,产生电源复位:n1.上电上电/掉电复位掉电复位(POR/PDR复位复位)n2.从待机模式中返回从待机模式中返回当以下事件中之一发生时,产生备份区域复位。
17、当以下事件中之一发生时,产生备份区域复位。n1.软件复位,备份区域复位可由设置备份区域控制寄存器软件复位,备份区域复位可由设置备份区域控制寄存器RCC_BDCR中的中的BDRST位产生。位产生。n2.在在VDD和和VBAT两者掉电的前提下,两者掉电的前提下,VDD或或VBAT上电将引发备上电将引发备份区域复位。份区域复位。2.2.3 时钟树时钟树nP83图图4-3系统时钟(系统时钟(SYSCLKSYSCLK)的产生)的产生n来源有来源有3个:个:HSI,PLLCLK,HSEn由由SW(时钟配置寄存器(时钟配置寄存器RCC_BDCR的的D0位和位和D1位)控制选择。位)控制选择。nSW1:0=0
18、0,HSI,内部,内部n01,HSE,外部,外部n10,PLLCLK,锁相环,倍频,锁相环,倍频n锁相环输入来自锁相环输入来自HSI/2或者或者HSE,由由PLLSRC控制选择。控制选择。n锁相环倍频系数由锁相环倍频系数由PLLMUL(RCC_BDCR的的D21D18位)控制。位)控制。n外部时钟接外部时钟接4-18MHz,开发板接开发板接8MHz开发板上的外接时钟电路开发板上的外接时钟电路2.2.4 下载电路下载电路开发板支持开发板支持JTAG下载和串口下载下载和串口下载nJTAG下载。下载。JLINK一端接电脑,另一端接开发板一端接电脑,另一端接开发板n串口下载 PL2303:USB转串口
19、2.3 STM32时钟配置时钟配置在在STM32中,有五个时钟源中,有五个时钟源:HSI、HSE、LSI、LSE、PLL。HSI是高速内部时钟,是高速内部时钟,RC振荡器,频率为振荡器,频率为8MHz。HSE是高速外部时钟,可接石英是高速外部时钟,可接石英/陶瓷谐振器,或者接外部时陶瓷谐振器,或者接外部时钟源,频率范围为钟源,频率范围为4MHz16MHz。LSI是低速内部时钟,是低速内部时钟,RC振荡器,频率为振荡器,频率为40kHz。LSE是低速外部时钟,接频率为是低速外部时钟,接频率为32.768kHz的石英晶体。的石英晶体。PLL为锁相环倍频输出,其时钟输入源可选择为为锁相环倍频输出,其
20、时钟输入源可选择为HSI/2、HSE或者或者HSE/2。倍频可选择为。倍频可选择为216倍,但是其输出频率最倍,但是其输出频率最大不得超过大不得超过72MHz。nAHB(HCLK)时钟=SYSCLK=72MHzAPB2(PCLK2)时钟=AHB时钟=36MHzAPB1(PCLK1)时钟=AHB 1/2时钟=72MHzADC时钟=PCLK2 1/4=9MHzPLL时钟=HSE*9=72MHz 在在STM32上如果不使用外部晶振,上如果不使用外部晶振,OSC_IN和和OSC_OUT的接法的接法 如果使用内部如果使用内部RC振荡器而不使用外部晶振,请按照下面方振荡器而不使用外部晶振,请按照下面方法处
21、理:法处理:n1)对于)对于100脚或脚或144脚的产品,脚的产品,OSC_IN应接地,应接地,OSC_OUT应悬空。应悬空。n2)对于少于)对于少于100脚的产品,有脚的产品,有2种接法:种接法:n2.1)OSC_IN和和OSC_OUT分别通过分别通过10K电阻接地。电阻接地。此方法可提高此方法可提高EMC(电磁兼容)性能。性能。n2.2)分别重映射)分别重映射OSC_IN和和OSC_OUT至至PD0和和PD1,再配置,再配置PD0和和PD1为推挽输出并输出为推挽输出并输出0。时钟配置是与时钟配置是与RCC寄存器密切联系的。寄存器密切联系的。RCC寄存器(寄存器(10个)个)RCC寄存器结构
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 嵌入式 系统 设计 STM32 资料
1、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
2、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,个别因单元格分列造成显示页码不一将协商解决,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
3、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
4、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前自行私信或留言给上传者【可****】。
5、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
6、文档遇到问题,请及时私信或留言给本站上传会员【可****】,需本站解决可联系【 微信客服】、【 QQ客服】,若有其他问题请点击或扫码反馈【 服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【 版权申诉】”(推荐),意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:4008-655-100;投诉/维权电话:4009-655-100。