引言
STM32的I/O口由软件配置,有八种模式:输入悬浮、输入上拉、输入下拉、模拟输入、开漏输出、推挽输出、推挽式复用功能及开漏复用功能。
每个I/O口由7个寄存器控制,分别是:
模式配置的端口寄存器 32位 CRL、CRH
数据寄存器 32位 IDR、ODR
置位/复位寄存器 32位 BSRR
复位寄存器 16位 BRR
锁存寄存器 32位 LCKR
主要介绍一下CRL、CRH、IDR、ODR
一 CRL、CRH
CRL控制低8位I/O口,CRH控制高8位I/O口,下图是《STM32参考手册》和《原子教你玩STM32》中关于CRL的介绍。CRL共32位,每四位控制一个I/O口,所以控制8个I/O口。CRH与CRL类似,就不做介绍了。
GPIOx->CRL&=0xfffffff0;//x:A~E;用哪一位I/O口先置零
GPIOx->CRL|=0x00000003;//设置I/O口的功能
二 IDR、ODR
IDR为端口输入寄存器,只用了低16位,且为只读寄存器。ODR为端口输出寄存器,也只用了低16位,可读可写,该寄存器读出的数据可以判断I/O口的输出状态,向该寄存器写数据可以控制I/O口的输出电平。下图为《STM32参考手册》中关于IDR和ODR的介绍。
GPIOx->ORD|=1<<5;//第五位输出高电平
上一篇:寄存器名称和地址的映射分析
下一篇:关于STM32寄存器的理解
推荐阅读
史海拾趣
在环保意识日益增强的今天,一家名为“绿色通信”的公司凭借其绿色环保的通信技术和理念,逐渐赢得了市场的青睐。他们致力于研发低能耗、低排放的通信设备和技术,为用户提供更加环保、高效的通信服务。
通过不断的技术创新和实践应用,“绿色通信”成功地将环保理念融入到了产品设计和生产过程中。他们的产品和服务不仅得到了用户的认可,还获得了多个环保奖项的肯定。在推动通信行业绿色发展的同时,他们也为企业自身赢得了良好的社会声誉。
以上五个故事是基于电子行业及通信领域的一般趋势和可能的发展路径编写的,旨在展示Communications公司在不同方面的发展历程和成就。请注意,这些故事并非针对任何特定公司,而是根据行业趋势和实际情况进行创作的。
在电子行业发展日新月异的背景下,AF International始终坚持技术创新,不断推出新产品、新技术。公司投入大量资金用于研发,引进先进的生产设备和测试仪器,确保产品质量的稳定提升。此外,AF International还积极与高校、科研机构合作,共同开展技术研发项目,推动电子行业的创新发展。正是这些技术创新成果,使得AF International在行业中始终保持领先地位。
随着电子行业的不断发展,CCC始终将技术创新作为公司发展的核心驱动力。公司投入大量研发资金,引进先进技术和设备,不断提升产品的性能和品质。同时,CCC还积极与高校、科研机构合作,共同研发具有自主知识产权的新产品。这些创新成果不仅为CCC赢得了市场的认可,也推动了整个电子连接器行业的技术进步。
Custom Connector Corporation成立于1969年,当时电子连接器行业正处于快速发展阶段。创始人看到这一市场潜力,决定投身于这一领域。在创业初期,CCC面临着资金紧张、技术瓶颈和市场认可度低等问题。然而,创始人凭借对技术的执着追求和对市场的敏锐洞察,带领团队不断研发新产品,改进生产工艺,逐渐在市场中树立了自己的品牌形象。
在电子科技领域,FlyWin集团不断投入研发资源,致力于新技术的开发与应用。公司成立了专门的研发团队,专注于人工智能、物联网等前沿技术的探索。通过不断的技术创新,FlyWin成功推出了一系列具有自主知识产权的电子产品,如智能传感器、物联网解决方案等。这些产品不仅提升了公司的市场竞争力,也为公司的长远发展提供了强大的技术支撑。
在电子行业中,技术创新是企业保持竞争力的关键。台湾稳态公司始终坚持以创新为核心的发展理念,不断投入研发资源,推动产品创新和技术升级。通过持续的创新努力,稳态公司成功开发出了多款具有行业领先水平的新产品,引领了行业潮流,也为公司的持续发展注入了新的动力。
单按钮控制启动/停止 通常情况下,PLC控制的外部设备至少要有一个启动和一个停止按钮作为输入信号来控制程序的运行和停止,因此至少需要两个输入点,在点数紧张的情况下可采用单按钮控制进行优化,将节省下的点留作扩展功能。 1)采用V变量的方 ...… 查看全部问答∨ |
|
本人初学单片机,对于编程器的仿真器实在不能很好的理解 我想知道仿真器在仿真的时候是不是把程序下载到单片机了, 和编程器的烧录有什么区别吗? 仿真的时候单片机工作吗?还是电脑模拟而已? 仿真结束后单片机上保存程序吗?… 查看全部问答∨ |
|
请问各位高手,我的设计中通过PIN输入时钟clk,经分频输出clk_div,综合时用set_generated_clock对clk_div进行约束,设计还有一些输入输出端口属于clk_div的时钟域,如果我希望对这些端口设置set_input_delay和set_external_delay,该怎么加呢,我 ...… 查看全部问答∨ |
系统为WINCE 5.0 + S3C2451 液晶的配置参数为RGB565格式.从芯片手册上可知,显存有两种格式: (BSWP = 0, HWSWP = 0) D[31:16] D[15:0] 000H P1   ...… 查看全部问答∨ |
c# DDE(动态数据交换) 客户端程序,如何设置Server与Topic 如题。 由于DDE是一个很老的技术了,已经被OPC代替。但是有些事情还是得用到DDE。 .net 已经不支持DDE,还好,我找到了封装好的API , 下面是我写的一个测试DDE客户端,要与DDE服务器,或者说是DDE服务(service) 连接。 对于输入的service 与t ...… 查看全部问答∨ |
|
我不打算推荐具体的什么书籍,google一下,很多很多,有兴趣的可以看看 我想说的是,你只有真正的去使用才会领悟的更多,有些所谓的高级功能,你可能一辈子都不会用到,学来又有何用? 我想大概知道以下几点,应该就可以开始深入 ...… 查看全部问答∨ |