0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

STM32入门编程总结(时钟+GPIO)

天气也来叶夜了 来源:piaofengzai 作者:piaofengzai 2022-02-19 16:53 次阅读

STM32入门编程总结3 (时钟+GPIO)

时钟,单片机的时钟好比人的心脏,时钟歇了,单片机也就停止工作了,51单片机就一个时钟,12M、11.0592M居多,11.0592M这么有零有整奇葩的频率主要是为了51单片机串口通信波特率能正好是个整数;STM32单片机有四个时钟,HSI、HSE、LSI、LSE,HIS是内部高速时钟(RC振荡器)8Mhz,经过倍频器后,单片机主频上限可以达到64Mhz,HSE是外部高速晶振8Mhz,经过倍频器后单片机主频上限可以达到72Mhz,LSI是内部低速40Khz时钟(RC振荡器),可以为RTC(实时时钟类似于DS1302)提供时钟,也可以为独立看门狗提供时钟,LSE是32.768khz晶振,为RTC提供时钟,32.768khz这么有零有整的奇葩频率源自于,32768= 2的15次方,RTC时钟内部有个2的15次方分频器,所以32768hz晶振经过分频后正好是1秒,这是整个瓜的来龙去脉。

另外着重提一点,内部时钟(HSI、LSI)都是RC振荡器,HSE、LSE是晶振,晶振和RC振荡器不是一回事儿,说STM32单片机有四个晶振是错误的说法,说有四个时钟没啥问题,外部晶振的稳定性要比内部RC振荡器好一些,外部晶振可以倍频让STM32单片机主频达到72Mhz,内部RC振荡器倍频只能达到64Mhz。

插播一段MCO(main clock output对应PA8引脚),这个引脚可以输出单片机当前工作的主频/二分之一主频,程序设定是72Mhz运行,假设8Mhz晶振虚焊,STM32单片机不是立即停止工作,而是会自动切换到内部RC振荡器采用64Mhz的主频继续工作,对于特别严苛的应用场合,72Mhz和64Mh还是有很大差异,需要知道当前MCU是否稳妥工作在72Mhz,通过MCO这个pin就可以抓取到(1/2PLLCLK)。

再插播一段分频器,2分频器,是把输入端频率除以二然后输出;选择器,是选择某一个作为输入后直接输出;倍频器把频率翻倍,像我当前用的i9-9900k CPU睿频5.0Ghz,这个5.0Ghz不是晶振直接搞到5.0Ghz,而是100Mhz晶振经过内部倍频电路翻50倍搞到5.0Ghz的。

STM32单片机的大部分外设都挂载在APB2、APB1总线上,GPIO、UART1、SPI1、ADC1、2、EXTI、TIM1都是APB2(72Mhz)的小弟,APB1(36Mhz)上挂载的是IIC1-2、CAN1-2、UART2-5、SPI2-2等,APB2上的外设用的频率多一些,毕竟很多小伙伴磨炼了多年也就止步于一LED灯大师。

GPIO口,通用输入输出口,51单片机P0、P1、P2、P3每组从0-7共8个IO口,STM32单片机,分为GPIOA-G,每组0-15共16个IO口,51单片机的IO口比较省心,要么置零要么置1,STM32的IO口花活儿多一些,整体分为两大类,输出类:(1)推挽模式,可以粗略理解为把IO口要么接单片机的VDD,要么接GND,IO口带载上限:25ma,点个灯没啥问题;(2)开漏模式,如果说VDD是IO口的头,开漏模式相当于掀开IO口的头盖骨,让用户去自定义(51单片机P0口:“啊这事儿我熟”),供电电压不再局限于MCU的3.3V,可以5V且通过更大的电流。(复用推挽/开漏是指有的IO口身兼数职,既可以当UART用,又可以当IO口用)。

输入模式:上拉、下拉、浮空、模拟输入,上拉(弱)置高,下拉(弱)置低,浮空啥也不接(默认浮空),模拟输入是使用ADC外设时配置IO口的模式。IO口还有速度选择:LOW、Medium、High,速度越低,功耗越低;IO口接按键,设置为上拉模式比较好,上拉模式的抗干扰能力比下拉强,上拉平时是高电平,来个尖峰干扰还是高电平;下拉平时是低电平,来个尖峰干扰就拉高了会导致误认为有按键按下,所以综合考虑,按键采用IO口上拉更稳妥。

审核编辑:汤梓红

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • adc
    adc
    +关注

    关注

    95

    文章

    5653

    浏览量

    539497
  • STM32
    +关注

    关注

    2240

    文章

    10675

    浏览量

    348848
  • 编程
    +关注

    关注

    88

    文章

    3441

    浏览量

    92414
收藏 人收藏

    评论

    相关推荐

    怎么根据外围电路配置单片机gpio时钟

    怎么根据外围电路配置单片机gpio时钟  根据外围电路配置单片机GPIO时钟是一项重要的任务,它决定了单片机与外部设备的通信速度和稳定性。在本文中,我将详细介绍如何根据外围电路配置
    的头像 发表于 01-31 10:57 460次阅读

    单片机编程实例总结

    单片机编程实例总结
    的头像 发表于 01-16 09:17 411次阅读

    使用STM32 HAL库进行GPIO控制的实例

    在基于STM32微控制器的嵌入式系统开发中,GPIO(GeneralPurposeInput/Output)控制是其中最基本、最常见的操作之一。通过使用STM32的HAL库,可以轻松地对GPI
    的头像 发表于 12-21 15:22 1131次阅读

    STM32使用GPIO配置的5种方式

    STM32使用GPIO配置的5种方式 STM32是常见的一种微控制器,其GPIO模块可以实现对外部设备的控制和数据传输,包括数字I/O口、模拟输入口和输出口等。在
    的头像 发表于 10-26 17:42 783次阅读

    STM32 GPIO的基本结构

    STM32中,所有GPIO都是挂在APB2这个总线上面的;
    的头像 发表于 10-24 09:24 435次阅读
    <b class='flag-5'>STM32</b> <b class='flag-5'>GPIO</b>的基本结构

    STM32单片机的八种GPIO口模式

    GPIO 是通用输入/输出端口的简称,本文以STM32为例进行说明,其他的单片机功能上都是大同小异,学会STM32GPIO,我们可以触类旁通。
    发表于 09-07 11:38 1498次阅读
    <b class='flag-5'>STM32</b>单片机的八种<b class='flag-5'>GPIO</b>口模式

    STM32单片机之GPIO开发 - 第9节

    STM32GPIO
    充八万
    发布于 :2023年09月01日 15:59:40

    STM32GPIO配置

    STM32微控制器通用输入/输出引脚(GPIO)提供许多与应用框架内外部电路相连接的方法。本应用笔记提供有关GPIO配置的基本信息,以及硬件和软件开发人员使用GPIO引脚优化其
    发表于 08-31 10:50 0次下载

    STM32 GPIO结构图讲解 STM32中上拉电阻或下拉电阻的作用

    STM32中的GPIO为例,如上图是GPIO的结构图。另外关于GPIO工作原理,请移步此文:STM32
    发表于 08-06 16:55 2019次阅读
    <b class='flag-5'>STM32</b> <b class='flag-5'>GPIO</b>结构图讲解 <b class='flag-5'>STM32</b>中上拉电阻或下拉电阻的作用

    STM32的8种GPIO模式理解

    最近在看数据手册的时候,发现STM32GPIO输入输出模式的配置种类有8种之多
    的头像 发表于 08-04 14:53 684次阅读

    STM32GPIO操作配置和使用方法

    本篇开始对STM32GPIO在实际开发设计中的使用配置和技巧进行探讨,可以先去回顾下之前介绍的GPIO的相关理论基础知识包括基本结构,工作模式和寄存器原理。
    的头像 发表于 07-07 16:50 3347次阅读
    <b class='flag-5'>STM32</b>的<b class='flag-5'>GPIO</b>操作配置和使用方法

    STM32GPIO在实际开发设计的使用配置和技巧

    一、前言 本篇开始对STM32GPIO在实际开发设计中的使用配置和技巧进行探讨,可以先去回顾下之前介绍的GPIO的相关理论基础知识包括基本结构,工作模式和寄存器原理。 了解过STM32
    的头像 发表于 06-22 10:22 524次阅读
    <b class='flag-5'>STM32</b>的<b class='flag-5'>GPIO</b>在实际开发设计的使用配置和技巧

    浅谈STM32单片机的时钟系统

      今天来总结一下stm32单片机的时钟系统,也就是时钟树的相关知识点。单片机正常工作的三要素是电源、时钟、复位电路。由此可以说,
    发表于 06-12 16:45 1428次阅读
    浅谈<b class='flag-5'>STM32</b>单片机的<b class='flag-5'>时钟</b>系统

    FPGA设计:GPIO怎么走全局时钟网络

    EFX_GBUFCE既可以让GPIO走全局时钟网络也可以用于为时钟添加使能控制,当并不是随时需要该时钟时可以把时钟禁止以节省功耗。
    发表于 05-12 09:53 618次阅读
    FPGA设计:<b class='flag-5'>GPIO</b>怎么走全局<b class='flag-5'>时钟</b>网络

    数控机床编程入门

    数控机床编程入门 数控机床编程课,是数控专业的一门综合性较强的专业课,它要求学生不仅会读懂程序,还要会手工编写简单零件的加工程序。编程入门
    发表于 05-09 15:18 1285次阅读