历史上的今天
返回首页

历史上的今天

今天是:2024年09月03日(星期二)

正在发生

2019年09月03日 | STM32中的GPIO结构

2019-09-03 来源:eefocus

1、GPIO内部结构

在这里插入图片描述

2、GPIO输入模式

(1)浮空输入模式

在这里插入图片描述

(2)输入上拉模式

在这里插入图片描述

(3)输入下拉模式


在这里插入图片描述

(4)模拟输入模式


在这里插入图片描述

3、GPIO输出模式

(1)开漏输出模式


在这里插入图片描述

(2)开漏复用输出模式

在这里插入图片描述

(3)推挽输出模式

在这里插入图片描述

(4)推挽复用输出模式


在这里插入图片描述

4、3.GPIO初始化步骤

具体寄存器需要参考STM32F1x手册


(1)确定GPIO的工作模式和工作速度

通过配置寄存器GPIOx_CRL和GPIOx_CRH


(2)具体要输出的内容

置位复位寄存器:BSRR和数据输出寄存器:ODR


5、总结


(1)推挽输出

a、可以输出高低电平,用于连接数字器件,高电平由VDD决定,低电平由VSS决定。


b、推挽结构指两个三极管受两路互补的信号控制,总是在一个导通的时候另外一个截止,优点开关效率效率高,电流大,驱动能力强。


c、输出高电平时,电流输出到负载,叫灌电流,可以理解成推,输出低电平时,负载电流流向芯片,叫拉电流,即挽。


(2)开漏输出

a、只能输出低电平,不能输出高电平。如果要输出高电平,则需要外接上拉。


b、开漏输出具有“线与”功能,一个为低,全部为低,多用于I2C和SMBUS总线。

推荐阅读

史海拾趣

福斯特半导体(Foster)公司的发展小趣事

对于能判断障碍物的机器人电路,网友可能还有以下几个问题及其相应回答:

问题一:机器人通常使用哪些传感器来判断障碍物?

回答
机器人通常使用多种传感器来判断障碍物,主要包括但不限于以下几种:

  1. 超声波传感器:这是最常见的一种传感器,通过发射超声波并接收其反射回来的信号,根据信号的时间差和波速计算障碍物的距离。超声波传感器在检测大范围、非接触式的障碍物时非常有效。

  2. 红外传感器:红外传感器通过发射红外光并接收其反射光来判断障碍物的存在和距离。红外传感器在近距离和快速检测中表现优异,且成本相对较低。

  3. 激光传感器:激光传感器利用激光束进行测距,具有高精度、长距离测量的特点。但相比超声波和红外传感器,激光传感器的成本更高,适用于对精度要求极高的应用场景。

  4. 视觉传感器:一些高级的机器人还配备了视觉传感器,如摄像头,通过图像处理技术来识别并判断障碍物。这种方法可以实现更复杂的场景理解和避障策略。

问题二:如何设计能判断障碍物的机器人电路?

回答
设计能判断障碍物的机器人电路需要考虑以下几个关键步骤:

  1. 选择合适的传感器:根据机器人的应用场景、成本预算和精度要求选择合适的传感器。

  2. 设计信号处理电路:将传感器采集到的原始信号(如电压、电流等)进行放大、滤波等处理,以便于后续的数字处理或微控制器读取。

  3. 微控制器编程:根据传感器的输出信号编写微控制器的程序,实现障碍物的判断、避障策略的制定和执行。

  4. 执行机构控制:通过微控制器控制机器人的执行机构(如电机、舵机等),实现机器人的移动和避障动作。

  5. 整体调试与优化:对整个电路进行调试和优化,确保机器人能够准确、稳定地判断障碍物并执行避障动作。

问题三:如何提高机器人判断障碍物的准确性和稳定性?

回答
提高机器人判断障碍物的准确性和稳定性可以从以下几个方面入手:

  1. 选用高质量的传感器:高质量的传感器具有更高的精度和稳定性,能够减少误判和漏判的情况。

  2. 优化信号处理电路:通过合理的电路设计和元器件选择,减少信号噪声和干扰,提高信号的信噪比和可靠性。

  3. 算法优化:对微控制器的算法进行优化,采用更先进的算法或策略来提高障碍物的判断精度和避障效果。

  4. 多传感器融合:利用多种传感器进行融合处理,可以弥补单一传感器的不足,提高整个系统的鲁棒性和可靠性。

  5. 实验验证与迭代优化:通过大量的实验验证和迭代优化,不断调整和优化机器人的参数和算法,以提高其判断障碍物的准确性和稳定性。

CSB公司的发展小趣事

在竞争激烈的电子行业中,成本控制是企业生存和发展的关键。CSB公司深知这一点,因此在供应链管理和成本控制方面下足了功夫。公司通过与供应商建立长期合作关系、优化采购流程、提高生产效率等方式,有效降低了生产成本。同时,公司还注重库存管理和物流配送的优化,确保产品能够及时、准确地送达客户手中。

ABC [ABC Taiwan Electronics Corp]公司的发展小趣事

ABC Taiwan Electronics Corp成立于上世纪八十年代,起初只是一个小型电子零件加工厂。面对激烈的市场竞争和有限的资源,公司创始人凭借对电子技术的深刻理解和敏锐的市场洞察力,带领团队不断研发新产品,逐步赢得了客户的信任。通过不断积累经验和扩大规模,ABC逐渐在电子零件加工领域站稳了脚跟。

Giga公司的发展小趣事
如开机自检、按键去抖等。
FOCI Fiber Optic Communications Inc公司的发展小趣事
如开机自检、按键去抖等。
ACCRETECH公司的发展小趣事
通过定时控制LED灯的亮灭,实现视觉效果。

问答坊 | AI 解惑

仅用鼠标就搞定的第一个C++程序

仅用鼠标就搞定的第一个C++程序    学习C++,不同IDE的控制台程序,新建、点击后产生的第一个C++程序,有的仅用鼠标就能搞定,“正常显示”,而有的则需要补充些语句才能通过编译到“正常显示”状态。 这里没有别的意思,只是想说 ...…

查看全部问答>

电磁炉原来对人身体有危害啊!!!

国家统计局的数据则表明,未来五年,电磁炉在国内将有7000万至8000万台的市场潜力,市场容量将达到数百亿元。但是,当电磁炉大批走进千家万户之时,其电磁污染的病症也日益显现。 那么什么是磁泄漏呢?中国室内装饰协会室内环境监测委员会副主任赵 ...…

查看全部问答>

赛格有没有卖STM8的公司或柜台?

                                 赛格有没有卖STM8的公司或柜台?…

查看全部问答>

第三章 底层库函数

小川工作室编写,本书为LM3S的USB芯片编写,上传的均为草稿,还有没修改,可能还有很多地方不足,希望各位网友原谅! QQ:2609828265 TEL:15882446438 E-mail:paulhyde@126.com 第三章 底层库函数 3.1底层库函数简介 寄存器级编程 ...…

查看全部问答>

#define DEFC(name, address) __no_init volatile unsigned char name @ address;

各位大虾  我在430的库文件里面看到这么一句 #define DEFC(name, address) __no_init volatile unsigned char name @ address;     是什么啊…

查看全部问答>

【视频分享】系统级ESD电路保护设计考虑因素

今天和大家分享一个有关ESD电路保护设计的视频。 随着技术的发展,移动电子设备已成为我们生活和文化的重要组成部分。平板电脑和只能手机触摸技术的应用,让我们能够与这些设备进行更多的互动。同时,它也构成了一个完整的静电放电(ESD)危险环境 ...…

查看全部问答>

ADI实验电路中的经典电路---大电流驱动电路

ADI实验电路中,有一些比较经典的电路,现发上来和大伙分享 大电流驱动电路:(此电路在CN-192中) …

查看全部问答>

【EAGLE】一些常用的技巧、心得。

本帖最后由 huayuliang 于 2014-11-8 18:38 编辑 算是正式开始了吧,不过俺只能想到(用到)哪里写到哪里,结果就如之前描述的——很乱。。。 其实所谓的技巧,只是基本命令的使用,不过是和实际应用相关的一些可能你没有想过的用法而已···· ...…

查看全部问答>