历史上的今天
今天是:2025年04月10日(星期四)
2019年04月10日 | STM32上电以后GPIO默认是Floating input
2019-04-10 来源:eefocus
真实案例1:
用开发板STM32的PD13来测试,直接裸露的管脚。
硬件连接我手上发光二极管的比较长的一端也就是 + 极,开发板找GND连接二极管较短的一端也就是 - 极。
#define TSBUZGPIO GPIOD
#define TSBUZGPIOPIN GPIO_Pin_13
#define TS_BUZ_H() GPIO_SetBits(TSBUZGPIO ,TSBUZGPIOPIN)
#define TS_BUZ_L() GPIO_ResetBits(TSBUZGPIO ,TSBUZGPIOPIN)
void TS_Buz_Init(void)
{
GPIO_InitTypeDef GPIO_InitStructure;
RCC_APB2PeriphClockCmd( RCC_APB2Periph_GPIOD,ENABLE );
GPIO_InitStructure.GPIO_Pin = TSBUZGPIOPIN ;
GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP;
GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;
GPIO_Init(TSBUZGPIO, &GPIO_InitStructure);
//TS_BUZ_H() ;
}
结论:上电复位以后是低电平!
因为灯没有亮起。主动拉高电平灯TS_BUZ_H() 才会亮。
参考:
https://mp.weixin.qq.com/s?__biz=MzI4MTEyNDU1MA==&mid=2651182997&idx=2&sn=e590a414cb58a866725568d9a6f2363d&chksm=f05f7c3cc728f52ada3638b0029aeee27f0056697f4ebf5c8143a76fd4e159d560d10b66ad82&mpshare=1&scene=23&srcid=0606xGDohBQapCa0IS9Ew64h#rd

真实案例2:

这里有个TF_DET 对应的是PC6
原理图是:没有插卡--高电平 插卡以后--低电平
init 81行
GPIO_InitStructure.GPIO_Pin = GPIO_Pin_6; //PC6---PD7 上拉输入
GPIO_InitStructure.GPIO_Mode = GPIO_Mode_IPU; //复用推挽输出
GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz; //IO口速度为50MHz
GPIO_Init(GPIOC, &GPIO_InitStructure); //根据设定参数初始化PD7
检测就是
u8 Read_THDET_PIN()
{
return GPIO_ReadInputDataBit(GPIOC ,GPIO_Pin_6);
}
把这个函数放到循环中 周期读一读就知道了 有卡是0 没卡是1
u8 tset = Read_THDET_PIN();
上电以后就是高电平!因为它外接的3.3v
结论:上电是浮空的,一般是低电平,除非你外面自己接电了才是高电平。
上一篇:STM32-外部中断学习笔记
下一篇: stm32初学之LED按键中断
史海拾趣
|
控制板的电源要求,板子上电时先给单片机供电,再给其他的元器件供电,以便各个部件在单片机的控制范围内。板子断电时先断其他元器件的电源,再给单片机断电。大家讨论下控制的方式……… 查看全部问答> |
|
电耦合器,是近几年发展起来的一种半导体光电器件,由于它具有体积小、寿命长、抗干扰能力强、工作温度宽及无触点输入与输出在电气上完全隔离等特点,被广泛地应用在电子技术领域及工业自动控制领域中,它可以代替继电器、变压器、斩波器等,而用于 ...… 查看全部问答> |
|
我对Mini2440的中断感到非常困惑,我在LPC2103上中断几乎没什么问题。但是在Mini2440调试我都捕捉不到。最感到困惑的是假如我的开发板是内存地址0x30000000到0x40000000吧,那么这个指令mov r1,#0xffffffff和str r1,[r0]应该是会发生数 ...… 查看全部问答> |
|
我的平台上连着USB 3G上网卡,想达到这样的效果: 1. 点击“我的连接”时,就启动USB电源;稍等一会点“连接”就可以拔号了 2. 点“断开连接”时,就断开USB电源 不知修改哪里的代码,电源的控制很简单,设置一个使能引脚而已… 查看全部问答> |
|
之前发过帖子询问关于绘制窗口时的问题, A,B窗口互相独立,B弹出时会覆盖A,B隐藏时覆盖A的部分会刷白,之后在网上查询过资料后找到了解决的问题。 因为A,B窗口都是贴了PNG的图片,PNG用PS修饰之后可以显示透明的效果,于是就用了IImage绘制。 ...… 查看全部问答> |
|
我想试一下2个gprs模块的点对点通讯,但是连不通,2个模块拨通后都是10.14.x.x ip地址,为什么连不通?? 有人说是移动认为阻断了内网之间的ip连接。但是也没有查到较权威的说法?? 现在有的公司的gprs dtu产品提供点对点的通讯模式 ...… 查看全部问答> |
|
我用的是arm+linux 文件系统是用busybox制作的,再用mkfs.jffs2做成jffs文件系统; 但是现在出了个怪问题是:总的flash只有16M,分给boot和kernel 3M,还剩下13M;问题来了,我用du命令查看文件夹的大小,结果是已经有两个文件夹的大小分别是8.1M ...… 查看全部问答> |
|
我用的是(STM32F103R8) PC12作下降沿触发,外部输入的时序如下图: 下载 (20.77 KB) 2010-12-3 15:28 现在出现一个情况,搞了好长时间也没查出问题。… 查看全部问答> |
|
我想试着做个小东西。。 用51做个小时钟。。 功能很简单。。 不需要什么按键。。 接个1602 。。想让他在考进程序后开始走时间。。 现在的问题是.. 我该怎么实现.. 单片机里的时间和现实时间同步呢? *由于晶振..或其他硬件因素产生的时间误差不 ...… 查看全部问答> |




