历史上的今天
返回首页

历史上的今天

今天是:2024年12月29日(星期日)

2018年12月29日 | STM32F030和STM32F103的IO结构上的区别

2018-12-29 来源:eefocus

STM32F103GPIO 功能描述


每个GPI/O端口有两个32位配置寄存器(GPIOx_CRL,GPIOx_CRH),两个32位数据寄存器(GPIOx_IDR和GPIOx_ODR),一个32位置位/复位寄存器(GPIOx_BSRR),一个16位复位寄存器(GPIOx_BRR)和一个32位锁定寄存器(GPIOx_LCKR)。


根据数据手册中列出的每个I/O端口的特定硬件特征,GPIO端口的每个位可以由软件分别配置成多种模式。

─  输入浮空

─  输入上拉

─  输入下拉

─  模拟输入

─  开漏输出

─  推挽式输出

─  推挽式复用功能

─  开漏复用功能


每个I/O端口位可以自由编程,然而必须按照32位字访问I/O端口寄存器(不允许半字或字节访问)。GPIOx_BSRR和GPIOx_BRR寄存器允许对任何GPIO寄存器进行读/更改的独立访问;这样,在读和更改访问之间产生IRQ时不会发生危险。


下图给出了一个I/O端口位的基本结构。


图13  I/O端口位的基本结构

STM32F030 GPIO functional description

Subject to the specific hardware characteristics of each I/O port listed in the datasheet, each

port bit of the general-purpose I/O (GPIO) ports can be individually configured by software in

several modes:

• Input floating

• Input pull-up

• Input-pull-down

• Analog

• Output open-drain with pull-up or pull-down capability

• Output push-pull with pull-up or pull-down capability

• Alternate function push-pull with pull-up or pull-down capability

• Alternate function open-drain with pull-up or pull-down capability

Each I/O port bit is freely programmable, however the I/O port registers have to be

accessed as 32-bit words, half-words or bytes. The purpose of the GPIOx_BSRR and

GPIOx_BRR registers is to allow atomic read/modify accesses to any of the GPIOx_ODR

Figure 13. Basic structure of a standard I/O port bit



二者区别:


以上中文部分为103系列,英文部分为030系列。两个系列从基本结构图上可以看到最大的差异就是上拉下拉电阻的位置有区别。


103系列的上下拉只在输入通道有效,030系列的在输入和输出都有效,因此030系列在浮空输出时也可以使用上下拉电阻,在103系列单片机中浮空输出是不能使用上下拉的,必须使用外部电阻辅助。


这两个IO的结构区别对实际使用有哪些影响呢?最大的区别就是IO作为双向IO使用时,设置为浮空输出,103系列必须外面配置上拉电阻,而030系列则可以直接配置为上拉开漏输出,把IO口作为双向IO使用,特别是在模拟IIC时序中使用最方便!

推荐阅读

史海拾趣

Bliley Technologies Inc公司的发展小趣事

Bliley Technologies Inc.的历史可以追溯到1930年,当时它作为Bliley压电公司成立,专注于为业余无线电市场生产石英晶体。石英晶体的精确频率控制特性使其成为无线电通信领域的理想选择。随着技术的不断进步和市场需求的扩大,Bliley很快发现其产品的潜力远不止于此。到了20世纪30年代中期,Bliley的客户和产品范围迅速扩展到新兴的军事和商业通信领域,公司也因此更名为Bliley Electric Company。这一转变标志着Bliley从一家小型压电公司成长为晶振行业的佼佼者。

Clover Display Limited公司的发展小趣事

随着业务的不断发展,Clover Display Limited意识到规模化生产的重要性。1993年,公司在中国顺德建立了一座占地8000平方米的工厂,专门从事客户定制的LCD及LCM的工业应用。这一举措不仅大幅提升了公司的生产能力,也使其能够更深入地了解市场需求,开发出更符合客户要求的产品。工厂的建立标志着Clover Display Limited在液晶显示领域的地位进一步巩固。

Elcos AG公司的发展小趣事

随着公司规模的扩大和业务的增长,Elcos AG面临着供应链管理的挑战。为了降低成本、提高效率和保证产品质量,公司决定对供应链进行优化。通过引入先进的供应链管理软件、加强与供应商的合作和建立严格的质量控制体系等措施,Elcos AG成功实现了供应链的优化和升级。这不仅提高了公司的运营效率和市场竞争力,还为客户提供了更加稳定可靠的产品和服务。

EHC(ELECTRONICHARDWARE)公司的发展小趣事

在电子行业中,产品质量是企业生存和发展的关键。EHC公司深知这一点,因此一直将品质管理作为企业发展的重要战略。公司建立了完善的质量管理体系,从原材料采购到生产制造再到产品出厂,每一个环节都经过严格的把控。这种对品质的坚持和追求让EHC公司的产品在市场上赢得了广泛的信任和认可。

Fastron公司的发展小趣事

Fastron公司深知产品质量对于企业的重要性。因此,公司建立了严格的质量控制体系,从原材料采购到产品生产、检测等各个环节都实行严格的质量控制和管理。Fastron还引进了先进的检测设备和技术手段,确保每一款产品都符合高标准的质量要求。这种对品质的执着追求使得Fastron的产品在市场上具有极高的竞争力。

Good Will Instrument Co., Ltd.公司的发展小趣事

在电感器领域取得成功后,Fastron并没有止步不前。相反,公司积极拓展业务领域,实现了多元化发展。除了电感器业务外,Fastron还成功运营了大型钣金生产业务,专门生产精密金属外壳和机电组件。此外,Fastron集团还拥有位于德国的Rapid Biomedical公司,为MRI扫描仪定制MR线圈,进一步拓宽了公司的业务范围。

问答坊 | AI 解惑

创建Windows CE操作系统(二)

之前介绍过如何创建一个基本的Windows CE的平台,现在咱就上一次没有提到的部分进行一下补充定制并build OS。 首先,在VS2005 IDE中的View -> Other Windows -> Catalog Items中,添加或者删除相应的模块来完成OS定制,选项如下: 然后配置buil ...…

查看全部问答>

模拟乘法器(checked)

本帖最后由 辛昕 于 2018-4-8 22:59 编辑 关于这个东西,我后来其实从来没捡起过。 但是,也就没有必要惦记着了。 当然了,每次说到这个东西,都会想起,故人已去~ 在做运放的过程中,知道了一个叫做模拟乘法器的东西。 但是想上网看看这个东 ...…

查看全部问答>

dsPIC30F 在无传感器BLDC 控制中的应用

dsPIC30F 在无传感器BLDC 控制中的应用…

查看全部问答>

STC单片机PWM的实现方法与原理

昨晚给师弟讲课的内容,利用stc的一款单片机提供的pwm实现变频输出。程序将变频pwm输出到led上作测试。 #include sfr   CCON   = 0xD8; sfr   CMOD   = 0xD9; sfr   CL   &nb ...…

查看全部问答>

S3c2410 LCD nand flash 裸机 程序怎么写?

大家好 我也是刚接触Arm9 这几天在学S3c2410裸机程序 现在遇到一个问题:    从ADS1.2下借鉴过来的代码,通过arm-linux- 工具编译,然后通过Jflash-s3c2410 下载到nand flash ,但运行起来 LCD 始终不是希望的效果。 我把我的 ...…

查看全部问答>

谁要能整理下中九的BIN供大家下载,真是感激不尽啊!

谁要能整理下中九的BIN供大家下载,真是感激不尽啊!…

查看全部问答>

有人用过IXP2350做开发吗?帮忙看看呀~~~~

小弟最近要在ixp2350上做开发,板子是个叫ADI Engineering的公司的,无奈我按照说明书上将串口线和网线连号,接上电源,然后用minicom和hyper terminal 都试过,就是没反应…… 说明书上也没有说要别的什么设置啊~~ 有朋友做过这方面的东东没?? ...…

查看全部问答>

calibrate_delay 的头文件是什么

嵌入式开发,Linux系统,是可以在驱动里面调用calibrate_delay 这个函数的吧 不知道需要包含什么头文件…

查看全部问答>

我的移动硬盘使用时,怎么显示:"本地磁盘"啊?

求救:     我的移动硬盘使用时,怎么显示:\"本地磁盘\"啊?     而且打不开! 谁知道 怎么解决? 谢谢!!!…

查看全部问答>