历史上的今天
返回首页

历史上的今天

今天是:2024年09月06日(星期五)

正在发生

2018年09月06日 | STM32 学习笔记——GPIO口控制

2018-09-06 来源:eefocus

在配置STM32外设的时候,任何都要先使能该外设的时钟!PB2ENR 是 APB2总线上的外设时钟使能寄存器


我们要使能的PORTA和PORTD的时钟使能位,分别在的时钟使能位,分别在bit2和bit5,只要将这两位置1就可以使能PORTA和PORTD了


STM32的每个IO端口都有7个寄存器来控制。


他们分别是:配置模式的2个32位的端口配置寄存器 CRL 和 CRH;2个32位的数据寄存器IDR 和 ODR ;1个32位的置

复位寄存器 BSRR ;一个 16 位的复寄存器 位的复寄存器 BRR ;1个 32 位的 锁存 寄存器 LCKR ;

这里我们仅介绍常用 的 几个寄存器,我们常用的 IO 端口寄存器只有 4个: CRL 、CRH、IDR 、ODR。

每组IO口一共有16个,CRH控制着高8个IO口,CR控制着高低8个IO口;


具体配置模式如下:




这里我们可以记住几个常用的配置,比如 0X0表示模拟输入模式( ADC 用)、 0X3 表示推挽输出模式(做输出口用, 50M 速率)、 0X8 表示上 /下拉输入模式(做输入口用)、 0XB表示复用输出(使IO 口的第二功能, 50M 速率)。


IDR 是一个端口输入数据寄存器,只用了低 16 位。该寄存器为只读,并且能以 16 位的形式读出。
要想知道某个IO口的状态,你只要读这个寄存器,再看某位的状态就可以了。


ODR 是一个端口输出数据寄存器,只用了低 16 位。该寄存器为可读写,并且能以 16 位的形式读写。
要想控制某个IO口的输出状态。而向该寄存器写数据,则可以控制某个IO口的输出电平


   //PC11输出高


推荐阅读

史海拾趣

亿晶源(ekinglux)公司的发展小趣事

亿晶源(EKINGLUX)公司成立于2005年,总部位于深圳。创始人凭借对LED半导体行业的深刻理解和敏锐的市场洞察力,决定在这一领域深耕。公司成立之初,面临资金、技术和市场的多重挑战,但团队凭借不懈的努力和坚定的信念,逐步在市场中站稳脚跟。

EUCHNER公司的发展小趣事

EUCHNER公司的历史可追溯到1940年,由艾米·安士能先生创立的工程事务所。艾米·安士能先生是一位热衷于机械运动和系统工程领域的创新者。在1952年,他成功发明了世界上第一个组合行程开关,这一创新技术为公司的未来发展奠定了坚实的基础。1953年,EUCHNER公司正式成立,开始专注于机电控制产品的研究与开发。

Hittite Microwave(ADI)公司的发展小趣事

随着全球化的发展,EUCHNER公司开始实施国际化战略,加强在全球市场的布局。公司在世界各地设立了多个分销处和办事处,以便更好地满足不同国家和地区的市场需求。同时,公司还积极与国际知名企业建立合作关系,共同推动工业自动化领域的进步。通过国际化战略和全球布局,EUCHNER公司的品牌影响力得到了进一步提升。

Exar [Exar Corporation]公司的发展小趣事

Exar始终注重通过收购和合并来增强自身的技术实力和市场竞争力。例如,2012年Exar收购了Integrated Memory Logic Limited(iML),这一举措加强了其在存储和数据管理领域的地位。通过收购iML,Exar获得了更多的技术资源和市场份额,为其后续的发展提供了有力支持。

Henkel公司的发展小趣事

2017年,Exar被MaxLinear公司收购,这是Exar发展历程中的一个重要里程碑。通过合并,Exar和MaxLinear的产品和技术得到了有效整合,两家公司在模拟和混合信号领域的优势得到了进一步加强。合并后的公司继续在通信、视频处理、存储、电源管理和时钟管理等多个领域发挥重要作用。

Cypress(赛普拉斯)公司的发展小趣事

Cypress公司成立于1982年,总部设在美国加州的San Jose。创业之初,公司专注于高速CMOS SRAM、EEPROM、PAL器件和TTL逻辑器件的设计和开发。这一时期,Cypress通过引入创新的技术和产品设计,在竞争激烈的电子芯片市场中逐渐崭露头角。公司凭借对技术的持续投入和积累,为未来的发展奠定了坚实的基础。

问答坊 | AI 解惑

VB写的示波器

VB写的示波器,刚从网上搜到。 有基本的示波器功能…

查看全部问答>

就是要靠技术混饭吃? (zt)

本文转帖,原文地址不详,从另一个论坛里转来的,他也是转帖. 《不要一辈子靠技术混饭吃》中的观点大部分已经很陈旧了,现在做技术的也越来越理性,都已经明白文中所说的,技术可以换来稳定的生活和高的薪水待遇是有困难的。我们从这里一分为二的看, ...…

查看全部问答>

浪潮:一种新型灾难恢复技术CDP技术剖析

一、CDP与备份、复制的不同   通常的灾难恢复技术包括数据的备份、复制、应用的远程集群等。目前,一种新的灾难恢复技术----持续数据保护(ContinuousDataProtection,CDP)开始进入应用成熟期。过去几年来,所有主要的厂商都开始进入CDP市场,从 ...…

查看全部问答>

ipsec启动问题

我的执行ipsec --help  出错syntax error这是怎么回事…

查看全部问答>

DDK 例子中BulkUsb的问题?

本来刚涉入驱动开发的行列不久,最近测试了一下DDK中的bulkusb编译生成的驱动,应用程序也是用DDK例子bulkusb中的exe,但是发现一些问题,希望各位高手能出手相助: (1)驱动装上去之后显示不出绿色图标。  这个图标的出现和什么有关 ...…

查看全部问答>

ARM+WinCE 交流群

源于摸索道路之曲折 源于交流平台之寥寥 源于我们有一个共同的追求...... 嵌入式学习交流之家:72905445 一起来吧!…

查看全部问答>

诚聘嵌入式软件开发工程师

岗位职责: 1、跟踪产品应用开发流程环节,负责终端产品开发; 2、对产品进行维护,针对客户提出的新需求进行相关技术变更; 3、完成设计文档编写和评审。 岗位要求: 1.计算机、通讯相关专业本科及以上学历 2.了解嵌入式系统开发的基本知识 ...…

查看全部问答>

sd驱动问题求解~

我的系统和平台是wince5.0 + 2416 问题:在进入wince的设备里面后,插入sd卡,系统下很快就会显示出sd的盘符,sd的访问也很正常,可是在拔除sd卡的时候,sd卡的盘符要5~6秒才能消失,不知道这个是什么原因。 希望有经验的xdjm们赐教!…

查看全部问答>

双网卡热备份(双网卡冗余备份)如何设计与实现呢?

你好?WIN2000下,以太网网络,双网卡热备份,也就是一个网卡坏了,另一个冗余网卡热切换,两个网卡同一个IP地址,实现方案是什么?使用哪些工具,技术?代码是什么?请问做双网卡热备份,是不是在ndis的例子PASSTHRU的代码基础上,修改即可?怎么修改?希望不 ...…

查看全部问答>

安装了VS2005+SQL2005,怎样开始开发 SQL Ce 应用程序?

请问:在VS2005里面,我想写一个SQL CE数据库应用程序,但是怎么工具箱里面的SQLCeConnection等组件都是无效的? 安装了VS2005+SQL2005,怎样开始开发 SQL Ce 应用程序? 我已经在工程里面引用了SQL Ce类库了。…

查看全部问答>