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

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

3天内不再提示

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

piaofengzai 来源: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口用)。

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

审核编辑:汤梓红

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

    关注

    98

    文章

    6498

    浏览量

    544630
  • STM32
    +关注

    关注

    2270

    文章

    10900

    浏览量

    355985
  • 编程
    +关注

    关注

    88

    文章

    3615

    浏览量

    93732
收藏 人收藏

    评论

    相关推荐

    如何快速入门HAL库编程 HAL库与裸机编程的比较

    如何快速入门HAL库编程 要快速入门HAL库编程,可以遵循以下步骤: 了解基础知识 : 掌握C语言编程基础,包括变量、数据类型、函数、指针等
    的头像 发表于 12-02 11:39 308次阅读

    深度解析 4G模组GPIO编程技巧篇

    本文将解析4G模组GPIO编程技巧,从概述、软硬件环境准备、示例等详细道来:
    的头像 发表于 11-20 23:08 178次阅读
    深度解析  4G模组<b class='flag-5'>GPIO</b><b class='flag-5'>编程</b>技巧篇

    GPIO内部电路的原理

    前言 笔者近日在B站刷到了一个视频,使我对GPIO的I/O口内部基本结构以及工作原理有了恍然大明白的理解,现在对此做一个总结,并为大家推荐该视频Keysking 【STM32GPIO
    的头像 发表于 11-20 09:24 304次阅读
    <b class='flag-5'>GPIO</b>内部电路的原理

    stm32 GPIO中断配置教程

    在嵌入式开发中,STM32微控制器因其高性能和丰富的外设而广受欢迎。GPIO(通用输入/输出)中断是STM32微控制器中常用的功能之一,它允许开发者在特定引脚上检测到外部信号变化时快速响应。 1.
    的头像 发表于 11-19 15:53 778次阅读

    socket 编程基础入门

    Socket 编程基础入门 在计算机网络中,Socket 是一个抽象层,它将网络通信的细节隐藏起来,为开发者提供了一个简单的接口来发送和接收数据。Socket 编程是网络编程的基础,它
    的头像 发表于 11-12 14:03 311次阅读

    STM32 GPIO的八种工作模式

    GPIO (general purpose input output)是通用输入输出端口的简称,简单来说就是软件可控制的引脚,STM32芯片的GPIO引脚与外部设备连接起来,从而实现与外部通讯、控制以及数据采集的功能。
    的头像 发表于 11-06 09:40 601次阅读
    <b class='flag-5'>STM32</b> <b class='flag-5'>GPIO</b>的八种工作模式

    树莓派gpio有什么用,树莓派gpio接口及编程方法

    一、树莓派GPIO的用途 树莓派(Raspberry Pi)是一款小巧、功能强大的单板计算机,广泛应用于编程教育、物联网项目、家庭媒体中心等领域。GPIO(General Purpose Input
    的头像 发表于 10-22 18:09 852次阅读

    基于STM32的WiFi联网自动校准时钟设计

    之前在uFUN试用群里看到管理员说试用活动快结束了,要抓紧完成评测总结,看大家的评测总结也都写了,我也不能落后啊!正好最近做的扩展板到手了,于是赶紧进行调试,做了一个不用校准的时钟时钟
    的头像 发表于 10-15 13:39 757次阅读
    基于<b class='flag-5'>STM32</b>的WiFi联网自动校准<b class='flag-5'>时钟</b>设计

    stm32用串口烧录怎么设置

    微控制器。 STM32CubeMX配置 打开STM32CubeMX,选择您的STM32芯片型号。 配置您的微控制器的时钟设置,确保PLL和其他时钟
    的头像 发表于 08-22 09:33 1507次阅读

    STM32 GPIO八种模式及工作原理详解

    一. 前言   GPIO全称General Purpose Input Output,是微控制数字输入/输出的基本模块,可以实现微控制器与外部环境的数字进行交换。借助GPIO微控制器可以实现对外
    的头像 发表于 07-22 09:32 6376次阅读
    <b class='flag-5'>STM32</b> <b class='flag-5'>GPIO</b>八种模式及工作原理详解

    PLC常用专业英文词汇翻译总结

    PLC编程中我们经常会遇到一些专业英文词汇,对于入门的学员来说过理解起来是非常困难的。本文总结了一些PLC常用专业英文词汇,并做已翻译。
    的头像 发表于 03-19 11:40 2407次阅读

    STM32电机控制SDK v5.0入门

    电子发烧友网站提供《STM32电机控制SDK v5.0入门.pdf》资料免费下载
    发表于 03-11 09:25 10次下载

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

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

    单片机编程实例总结

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

    关于编程模式的总结与思考

    淘宝创新业务的优化迭代是非常高频且迅速的,在这过程中要求威廉希尔官方网站 也必须是快且稳的,而为了适应这种快速变化的节奏,我们在项目开发过程中采用了一些面向拓展以及敏捷开发的设计,本文旨在总结并思考其中一些通用的编程模式。
    的头像 发表于 01-03 10:14 486次阅读
    关于<b class='flag-5'>编程</b>模式的<b class='flag-5'>总结</b>与思考