推荐阅读最新更新时间:2024-10-23 09:45
STM8S105 GPIO寄存器方法
GPIO寄存器配置位及模式
[单片机]
(ARM11 S3C6410) ARM11裸机初体验,GPIO寄存器
拿到一款陌生的MCU,通常想的是先跑跑裸机。……通常第一件事是观摩GPIO寄存器。 OK6410开发板电路图。 6410的IO口资源…… 想关的寄存器地址 GPMCON:IO口配备寄存器。 GPMDAT与GPLPUD寄存器。 通常,接触一款新的MCU。个人喜好写一个构件库(观摩完所有的寄存器后,构件就全部写好了)。调用自己写好的构件会很方便。 创建init.s汇编代码 关看门狗 设置堆栈 设置CPU基地址 IMPORT main AREA init,CODE,READONLY PRESERVE8 ENTRY LDR R0, =0x70000000 ORR R
[单片机]
STM32 GPIO 寄存器的配置
配置每组IO口的寄存器:(每一组一套寄存器) 1、两个32位的配置寄存器;GPIOx_CRL,GPIOx_CRH 2、两个32位的数据寄存器:GPIOx_IDR,GPIOx_ODR 3、一个32位置位/复位寄存器:GPIOx_BSRR 4、一个16位的复位寄存器GPIOx_BRR 5、一个32位的锁定寄存器GPIOx_LCKR 详解 : CRL和CRH控制IO口,是四个位控制一个口,所以要两个32位的来控制16个口 1、GPIOx_CRL:端口配置低寄存器: 每个口由四位控制,为MODE+CNF联合配置,具体模式在下图中。(输入要与输入对应,输出也要与输出对应) 具体对应输入输出配置表(对上图的详解): 2、GPIOx_
[单片机]
基于stm32的GPIO寄存器学习解析
GPIO即通用输入/输出 (General Purpose Input Output) 包括: 两个32位的配置寄存器 GPIOx- CRL,GPIOx- CRH 两个32位的数据寄存器 GPIOx- IDR,GPIOx- ODR 一个32位的 set/reset 寄存器 GPIOx- BSRR 一位16位的 reset 寄存器 GPIOx- BRR 一位32位的锁定寄存器 GPIOx- LCKR 端口的模式包括: 浮空输入(Input floating)—— 即没有上拉电阻和下拉电阻,电压呈不确定性,一般用来做ADC输入用,这样可以减少上下拉电阻对结果的影响 上拉输入(Input pull-up) 下拉输入(Input-pu
[单片机]
STM32单片机GPIO概述及相关寄存器
5.1 STM32单片机GPIO概述 STM32中每个IO口都有很多个作用,比如这次我们使用的STM32F103ZET6的PA0口,既可以作为IO口使用,还可以作为待机唤醒(WAKEUP),模拟输入(ADC功能)等。根据数据手册中列出的每个I/O端口的特定硬件特征,GPIO端口的每个位可以由软件分别配置成多种模式。 (1)输入浮空 (2)输入上拉 (3)输入下拉 (4)模拟输入 (5)开漏输出 (6)推挽式输出 (7)推挽式复用功能 (8)开漏复用功能 每个I/O端口位可以自由编程,然而I/O端口寄存器必须按32位字被访问(不允许半字或字节访问)。GPIOx_BSRR和GPIOx_BRR寄存器允许对任何GPIO寄存器的读/
[单片机]
STM32 GPIO寄存器的相关知识
一、前言 在之前的STM32的GPIO理论基础知识中,分别对基本结构和工作模式进行了详细的介绍。 GPIO基本结构中主要对GPIO内部的各个功能电路逐一的进行的分析; GPIO工作模式中主要介绍GPIO应用在不同的使用场景下,GPIO端口的静态特征配置和动态的工作模式,同时对信号的工作流进行了分析。 这一篇主要对GPIO模块使用到的寄存器进行详细的分析介绍,适当了解GPIO寄存器的相关知识,可以对GPIO最底层的一些配置和工作原理有更好的认识,有助于加深对GPIO基本结构及工作模式的理解,同时对后续介绍到的GPIO在应用设计中有较好的帮助。 二、寄存器概述 图1为STM32的GPIO模块中寄存器的概述,总共有5种类型的寄存
[单片机]
stm32f103 GPIO——一灯大师之I/O口输出模式的寄存器配置
在讲述寄存器配置之前,我们先来看看二进制中,在不改变其他位的条件下,对某个位的置1和清零。 先看口诀: 清零用& (对某一位,进行 与 操作。与0相与,会清零。与1相与,不改变) 置1用 | (对某一位,进行 或 操作。与0相或,不改变。与1相或,会置1) 例如: 二进制:0001 1100,我想要在不改变其他位的情况下,将第四位清零。因为,清零用&,与0相与,会清零,与1相与,不改变。所以: 0001 1100 & ~(0x01 3) == 0001 0100 注意:0x01 3 == 0000 1000(这里由于要和8位的二进制数相与,所以这里会自动扩展成8位)(而且注意这里
[单片机]
GPIO寄存器的地址怎么寻找
由上图知,GPIOC的地址就是在这个PERIPH_BASE地址的基础上偏移得到得。 我们可以一步一步的计算一下GPIOC的地址是多少。 0x40000000 + 0x10000 + 0x1000 == 0x4001 1000 我们的计算结果和参考手册上的一样。注意:这些都是芯片上面真实的物理地址。如果需要运行操作系统,由于在操作系统中,程序的地址对应的是虚拟内存,在操作系统中对GPIO进行操作时,需要将这个真实的物理地址映射到虚拟地址上面去,这样操作系统才能对GPIO进行操作。 这个是GPIO上的各个寄存器,它被装在一个结构体里面。 由这张图可知,这也就是为什么GPIO的寄存器仅通过偏移地址就可以能
[单片机]