0015:如何将晶振引脚变成GPIO使用?【洋桃技术支持】

问:

我想把STM32F103单片机中的4个晶振引脚复用成普通GPIO,但发现PC14、PC15在程序中设置为推挽输出之后,却不能使用,不能向其他GPIO一样驱动LED点亮。请问是哪里没有设置对?为什么?

答:

如【图1】所示,STM32F103单片机在LQFP48封装中共有4个引脚是与外部晶振连接的,其中3、4脚连接32.768KHz晶振,5、6脚连接8MHz晶振。另外第2脚虽然没有连接晶振,但它的复用功能也与RTC有关。这5个引脚在上电时默认为外部晶振功能,但也可以通过程序复用到GPIO功能,复用的IO接口组是PC和PD,这两组GPIO在48脚单片机并没有整组引出来,只有100脚及以上单片机中才能使用整组的PC和PD。那么这里只有从2脚到6脚的PC13、PC14、PC15、PD0、PD1接口。

【图1】单片机晶振相关接口

接下来我们打开《STM32F103X8-B数据手册(中文)》文档,在手册第17页可以找到如【图2】所示的引脚定义图表。这里面写明了定义的编号和功能。请注意在“引脚名称”一列中,PC13、PC14、PC15的上角标有“(4)”,这是对其进行特别说明的标注。表示我们可以在表格的下方找到一系列注意文字,其中第4个说明就是关于这3个GPIO的说明。于是表格下方的说明文字如【图3】所示,第4条对PC13、PC14、PC15的说明是:

4. PC13,PC14和PC15引脚通过电源开关进行供电,而这个电源开关只能够吸收有限的电流(3mA)。因此这三个引

脚作为输出引脚时有以下限制:在同一时间只有一个引脚能作为输出,作为输出脚时只能工作在2MHz模式下,

最大驱动负载为30pF,并且不能作为电流源(如驱动LED)

其中可以看出这3个IO并不同于普通的IO接口,它在内部的供电电源比较特别,当工作在灌电流状态时,最大的吸收电流只有3mA。这是很小的电流呀,因为正常的IO接口都能吸收20mA的电流。另外,当这3个引脚用于推挽输出时,不能作为电流源。意思是不能对外输出大电流。而LED灯正是很常用的电流驱动器件。所以这3个IO接口如果接了LED灯,设置推挽输出不能做电流源,设置灌电流模式只能吸收3mA电流,这个小的电流LED根本不会亮。

所以说回答最初的问题,PC13、PC14、P15这3个IO接口本身性能就确定了不能驱动LED,只能做电平通信或电平输入。不过PD0和PD1接口的性能要比前3个接口要强很多,可见【图3】中的第8条,PD0和PD1如果要输出时只能工作在50MHz的速度下,但其他的性能则和普通PA、PB组接口一样。也就是说PD0和PD1可以驱动LED灯。

大家如果在使用IO接口时出现问题,请先查看《数据手册》和《参照手册》,仔细阅读标注的说明,里面能有很多重要的信息,如果没有关注到可能会导致因认识不到而无法解决问题。

【图2】数据手册中的引脚定义

【图3】对晶振引脚的特别说明

(0)

相关推荐

  • 鑫谷 直男1机箱评测:简洁合理的外观和结构,创新方便的快充加持

    你是否会遇到这样一个场景:眼看手机已经要没电了,但是你忙于"战斗"起不开身,插线板上又插满了各种乱七八糟的插头,还缩在桌子下的角落,只好随手插在机箱上"享受"着 ...

  • EEDrone开源四旋翼从零开始(2)--引脚的讨论

    我们选择的芯片是STM32F746或者F767,这是因为只有这两款F7的Nucleo板子,这两个芯片差不多,最主要差别是F767的Flash是2M, 512 Kbytes of SRAM,F746的f ...

  • VL53L0X激光测距传感器.介绍篇

    http://wiki.dfrobot.com.cn/_SKU_SEN0245_VL53L0_Distance_Ranging_Sensor 本文的主角 就是这个核心,别看这么大.其实特别小一点点 V ...

  • 【NXP USB Type C评测 】+ LPC11U35程序开发

    五一结束了,回来更新一帖 前面做过一些基本的 NXP USB Type-C 板卡的相关介绍和使用,在评测过程中对这个板卡有了一定的了解,首先 USB 3.1 这个接口本身功能很强大: 1.传输速率大幅 ...

  • STM32低功耗时,IO引脚配置的问题

    做有低功耗产品设计经验的朋友都应该知道,一个产品的功耗不光是硬件功耗的事,其实软件也是影响整个产品功耗的一个关键因素. 我之前也开发过几款使用电池供电的产品,调试起来,那叫一个痛苦,软件和硬件各种因素 ...

  • 巧用1个GPIO控制2个LED显示4种状态

    很多电子产品有状态指示灯,比如电视机: 待机状态亮红灯 开机状态亮绿灯 实现起来很简单,微控制器MCU的两个GPIO分别控制就行: 不过资源总是紧张的,有时候会碰到GPIO不够用的情况. 如果只用1个 ...

  • 用3个IO口控制6个LED灯,怎么做到的?查理复用

    ▲ 本文要分析的电路 事情是这样开始的. 买了个电动牙刷,几十块钱那种: 收到的实物长这样: 牙刷手柄上有1个按键和6个LED灯: 拆开看看电路板: 可以看出,电路板上用的单片机,只有8个脚,却要控制 ...

  • 要有光!点亮你的乐高套装!新手照明DIY入门及街景灯光改装教学

    乐高模型的发光照明改装一直是moc爱好者之间交流的热门话题,在今天这篇文章里,我们将介绍如何以不同方式来点亮你的套装,并会结合各种模型情况给你一些提示建议. 如果你想点亮自己的乐高套装甚至是moc模型 ...

  • STM32 IO口中施密特触发器的作用

    2016-07-21 08:07:41 1   为什么要在IO输入端加一个斯密特触发器呢 特触发器具有电压的滞后特性,常用它对脉冲波形整形,使波形的上升沿或下降沿变得陡直 点击阅读全文 打开CSDN, ...

  • 电脑里的晶振你知道多少?

    石英晶体谐振器简称为石英晶体,从一块石英晶体上按一定方位角切下的薄片简称晶片,.在封闭内部添加IC组成振荡电路的晶体元件称为晶体振荡器.广泛用于电脑,手机,数码电子等产品. 拿我们最熟悉的电脑来说吧. ...

  • 如何判断晶振的好坏晶振对于单片机有怎么样的影响

    晶振的作用日渐突出,本文中,将基于三方面介绍晶振:1.如何判断晶振好坏,2.石英晶振的运用准则,3.晶振对于单片机的影响.如果你对本文内容具有兴趣,不妨继续往下阅读哦. 一.判别晶振好坏 晶振作为电路 ...

  • 晶振知识大全

    晶振,全称晶体振荡器,它能够产生中央处理器(CPU)执行指令所必须要的时钟频率信号,CPU一切指令的执行都是建立在这个基础上的,时钟信号频率越高,通常CPU的运行速度也就越快. 凡是包含CPU的电子产 ...

  • 一分钟看懂晶振的工作原理

    一分钟看懂晶振的工作原理

  • 【无线电史话】具有六个晶振控制通道的1瓦便携式2米FM电台

    两米段FM电台,1971年 1971年4月出版的73 Magazine是一本专门针对FM直放站的特刊.封面显示了Murry Sessions,K6MVH主编Ken Sessions的女儿,她手持Dra ...

  • 关于晶振,看这一篇就够了。

    一.晶振简介 无源晶振,准确的说叫晶体(Crystal),它没有极性.一般有两个引脚,需要专门的时钟电路和起振电容配合才能输出时钟信号.晶体一般是2脚或者4脚,2脚最常见. 有源晶振(oscillat ...

  • 【0基础学硬件】单片机为什么一般选11.0592M的晶振

    往期精彩 1.超全超详细Mos管元件特性及工作原理介绍: 2.超详细开关电源芯片内部电路解析: 3.70G硬件设计资料汇总分享:[友情推荐] 4.分享一份老工程师(某为工作15年)经常使用的pcb企业 ...

  • 43条说清单片机晶振的那些问题

    一.为什么51单片机爱用11.0592MHZ晶振? 其一:因为它能够准确地划分成时钟频率,与UART(通用异步接收器/发送器)量常见的波特率相关.特别是较高的波特率(19600,19200),不管多么 ...

  • 晶振旁的电阻(并联与串联)和电容的作用

    无源晶振再使用时可以见到如下几种形式,具体如下: 1. 0. 0. 各种形式基本都有,最常见的就是下图中的格式: 4. 首先按照1.电容的有无?2.并联电阻和串联电阻的作用?两部分进行说明 #一.电容 ...