- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第二章 stm32技术强化
第二章STM32强化应用本章目标掌握GPIO口输入输出的用法掌握stm32的中断系统掌握通用定时器的三个用法掌握SPI、I2C接口的用法掌握以太网、液晶等的用法第二章STM32强化应用2.1STM32要点2.1.1命名规范STM32F103RBT6:64引脚,128K的flash,LQFP封装第二章STM32强化应用2.1STM32要点2.1.2FLASH容量、选型第二章STM32强化应用2.1STM32要点2.1.3启动文件选择第二章STM32强化应用2.1STM32要点2.1.4时钟树系统时钟最大频率为72MHz,它通过AHB分频器分频后送给各模块使用,AHB分频器可选择1、2、4、8、16、64、128、256、512分频。其中AHB分频器输出的时钟送给5大模块使用: ①、送给AHB总线、内核、内存和DMA使用的HCLK时钟。 ②、通过8分频后送给Cortex的系统定时器时钟。 ③、直接送给Cortex的空闲运行时钟FCLK。 第二章STM32强化应用2.1STM32要点2.1.4时钟树 ④、送给APB1分频器。APB1分频器可选择1、2、4、8、16分频,其输出一路供APB1外设使用(PCLK1,最大频率36MHz),另一路送给定时器(Timer)2、3、4倍频器使用。该倍频器可选择1或者2倍频,时钟输出供定时器2、3、4使用。 ⑤、送给APB2分频器。APB2分频器可选择1、2、4、8、16分频,其输出一路供APB2外设使用(PCLK2,最大频率72MHz),另一路送给定时器(Timer)1倍频器使用。该倍频器可选择1或者2倍频,时钟输出供定时器1使用。另外,APB2分频器还有一路输出供ADC分频器使用,分频后送给ADC模块使用。ADC分频器可选择为2、4、6、8分频。第二章STM32强化应用2.1STM32要点2.1.4时钟树第二章STM32强化应用2.1STM32要点2.1.5管脚功能第二章STM32强化应用2.1STM32要点2.1.6技术手册CM3权威指南:主要讲解了CortexM3内核的原理和实现;STM32中文参考手册:使用最频繁的文档,详细讲解stm32的接口、外设的原理,使用方法和寄存器;STM32F10xxxCortex编程手册:需要注意的是其中的系统寄存器;STM32F10xxx闪存编程手册:主要讲解了怎么对程序存储器进行操作;STM32芯片的芯片手册:所选芯片的管脚、功能、性能等。其中,参考手册、编程手册注重功能和操作方式,而芯片手册更注重量化指标(如时序、允许的最大最小值等)。第二章STM32强化应用2.2GPIO口输出2.2.1基础在stm32芯片中,每个通用输入输出口(GPIO口)都有16个口线,如GPIOA,包含了GPIOA0~GPIOA15,一般简写为PA0~PA15。但是,芯片并不一定包含所有的口线,比如在终端设备所使用的stm32f103RB芯片中,通用IO口有GPIOA,GPIOB,GPIOC和GPIOD的PD0~PD2。共计51个管脚可以用作输入输出口通用IO和复用功能GPIO(GeneralPurposeInputOutput,通用输入输出接口)是MCU与外部电路和设备连接的基本外设。也就是常说的端口或管脚。AFIO(AlternateFuctionIO,复用功能IO)是指某些GPIO除了通用功能外还可以设置为一些外设专用的功能STM32F103RBT6有51个GPIO端口,其中的一些还可以把复用功能重新映射到其他引脚,以实现优化管脚数目和配置目的。GPIO、AFIO和重映射,分别是一个端口的三个层次。1.使能GPIO时钟2.使能复用时钟和外设时钟3.把GPIO模式设置为复用功能对应的模式(见《STM32中文参考手册》8.1.11节)4.外设参数的初始化5.初始化NVIC并开启中断(需使用外设中断功能时)6.使能外设7.编写中断处理函数(需使用外设中断功能时)IO复用步骤注意:STM32的外设的初始化都是通过结构体来设置初始值的!!-18-通用IO工作模式输入浮空:用于不确定高低电平的输入。输入上拉:用于默认为上拉至高电平的输入。输入下拉:用于默认为下拉至低电平的输入。模拟输入:用于模拟量的输入。开漏输出:用于实现电平转换和线与功能的输出。推挽式输出:用于较大功率驱动的输出。推挽式复用功能:复用功能情况下的推挽输出。开漏复用功能:复用功能情况下的开漏输出。注意:每个GPIO都可以作为外部中断/唤醒线。GPIO端口的每个位可以根据不同的功能,由软件分别配置成八种模式:第二章STM32强化应用2.2GPIO口输出2.2.2功能分析在终端设备上,要实现GPIO的输出功能,可以利用stm32的几个通用IO口线实现输出高低电平来控制LED灯的亮灭和继电器的开关。
文档评论(0)