历史上的今天
今天是: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输出高
史海拾趣
|
本文转帖,原文地址不详,从另一个论坛里转来的,他也是转帖. 《不要一辈子靠技术混饭吃》中的观点大部分已经很陈旧了,现在做技术的也越来越理性,都已经明白文中所说的,技术可以换来稳定的生活和高的薪水待遇是有困难的。我们从这里一分为二的看, ...… 查看全部问答> |
|
一、CDP与备份、复制的不同 通常的灾难恢复技术包括数据的备份、复制、应用的远程集群等。目前,一种新的灾难恢复技术----持续数据保护(ContinuousDataProtection,CDP)开始进入应用成熟期。过去几年来,所有主要的厂商都开始进入CDP市场,从 ...… 查看全部问答> |
|
本来刚涉入驱动开发的行列不久,最近测试了一下DDK中的bulkusb编译生成的驱动,应用程序也是用DDK例子bulkusb中的exe,但是发现一些问题,希望各位高手能出手相助: (1)驱动装上去之后显示不出绿色图标。 这个图标的出现和什么有关 ...… 查看全部问答> |
|
岗位职责: 1、跟踪产品应用开发流程环节,负责终端产品开发; 2、对产品进行维护,针对客户提出的新需求进行相关技术变更; 3、完成设计文档编写和评审。 岗位要求: 1.计算机、通讯相关专业本科及以上学历 2.了解嵌入式系统开发的基本知识 ...… 查看全部问答> |
|
你好?WIN2000下,以太网网络,双网卡热备份,也就是一个网卡坏了,另一个冗余网卡热切换,两个网卡同一个IP地址,实现方案是什么?使用哪些工具,技术?代码是什么?请问做双网卡热备份,是不是在ndis的例子PASSTHRU的代码基础上,修改即可?怎么修改?希望不 ...… 查看全部问答> |
|
安装了VS2005+SQL2005,怎样开始开发 SQL Ce 应用程序? 请问:在VS2005里面,我想写一个SQL CE数据库应用程序,但是怎么工具箱里面的SQLCeConnection等组件都是无效的? 安装了VS2005+SQL2005,怎样开始开发 SQL Ce 应用程序? 我已经在工程里面引用了SQL Ce类库了。… 查看全部问答> |




