学习STM32单片机之结构体思想

发布者:喜茶我要七分糖最新更新时间:2022-10-26 来源: csdn关键字:STM32  单片机 手机看文章 扫描二维码
随时随地手机看文章

学习内容:

1.我们在操作寄存器的时候,操作的是寄存器的绝对地址,如果每个寄存器都这样操作,那将非常麻烦。


2.我们考虑到外设寄存器的地址都是基于外设基地址的偏移地址,都是在外设基地址上逐个连续递增的,每个寄存器占32 个或者16 个字节,这种方式跟结构体里面的成员类似。


3.定义一种外设结构体,结构体的地址等于外设的基地址,结构体的成员等于寄存器,成员的排列顺序跟寄存器的顺序一样。这样我们操作寄存器的时候就不用每次都找到绝对地址,只要知道外设的基地址就可以操作外设的全部寄存器,即操作结构体的成员即可。


下面先定义一个GPIO 寄存器结构体,结构体里面的成员是GPIO 的寄存器,成员的顺序按照寄存器的偏移地址从低到高排列,成员类型跟寄存器类型一样。


1 typedef struct {

2 __IO uint32_t CRL;

3 __IO uint32_t CRH;

4 __IO uint32_t IDR;

5 __IO uint32_t ODR;

6 __IO uint32_t BSRR;

7 __IO uint32_t BRR;

8 __IO uint32_t LCKR;

9 } GPIO_TypeDef;

CRL : 端口配置低寄存器

CRH: 端口配置高寄存器

IDR: 端口输入数据寄存器

ODR: 端口输出数据寄存器

BSRR: 端口位设置/清除寄存器

BRR: 端口位清除寄存器

LCKR: 端口配置锁定寄存器


学习总结:

以结构体的思想去定义寄存器,想操作寄存器就变成了操作结构体,这就相当于定义了库

关键字:STM32  单片机 引用地址:学习STM32单片机之结构体思想

上一篇:STM32学习总结之不同文件的作用
下一篇:STM32学习总结之IO控制

推荐阅读最新更新时间:2024-11-13 21:32

stm32学习笔记之USB中断配置初始化函数
● 中断映射单元:将可能产生中断的USB事件映射到三个不同的NVIC请求线上: ─ USB低优先级中断(通道20):可由所有USB事件触发(正确传输,USB复位等)。固件在处理中断前应当首先确定中断源。 ─ USB高优先级中断(通道19):仅能由同步和双缓冲批量传输的正确传输事件触发,目的是保证最大的传输速率。 ─ USB唤醒中断(通道42):由USB挂起模式的唤醒事件触发。 USB_HP_CAN1_TX_IRQn= 19, /*! USB Device High Priority or CAN1 TX Interrupts */ USB_LP_CAN1_RX0_IRQn = 20, /*! USB Dev
[单片机]
<font color='red'>stm32</font>学习笔记之USB中断配置初始化函数
AT89C51单片机频率计的C源程序设计
本文是基于AT89C51单片机的频率计的C源程序。该频率计主要实现的功能有如下几个: 1. 测试功能 它表明数字频率计所具备的全部测试功能,一般包括测频,周期,累计脉冲数,频率比,时间间隔及自较等功能。 2. 测量范围 它说明不同功能的有效测量范围。如测频率时,测量范围是数字频率计处于正常工作条件下,被测信号的频率范围,一般用频率的上,下限值表示,低端大部分从10Hz开始;高端因不同的频率计而异。因此高端频率是确定低,中,高速计数器的依据。在测量周期时,测量范围常用周期的最大值,最小值表示。 3. 输入特性 数字频率计一般有2~3个输入通道,测试不同项目时,被测信号可经不同的通道输入仪器。输入特性是表明数字式频率计于被
[单片机]
基于ARM微控制器AT91M40800和CAN总线的煤矸石分选系统设计
  引言   随着嵌入式技术的不断发展,高性能、低功耗、低价格的32位RISC芯片的ARM微控制器呈现出强劲的发展趋势,嵌入式系统和现场总线技术结合,结合二者的优点,为传统的选煤技术提供了新的改造方案。将嵌入式技术和现场总线技术相互融合,设计了一种新的煤块和矸石在线识别与自动分选系统。   煤矸石在线识别与自动分选系统   煤块和矸石在线识别与自动分选系统的原理框图如图1所示。根据选煤工艺要求,本系统主要由下面三大部分构成:      图1 煤矸石在线自动分选系统框图   (1)检测部分:由进料斗、输送带、CCD摄像头、图像数据采集电路等组成。开采出来的原煤常含有矸石,必须将矸石从传送带上挑选出来。CCD摄像头将
[单片机]
基于ARM<font color='red'>微控制器</font>AT91M40800和CAN总线的煤矸石分选系统设计
STM32无法使用IAR下载程序问题
一开始建立了工程,然后程序下载都很正常。不知道什么情况自己下载代码之后,再重新下载代码无法成功。 我按照提示找了一下FlashStm32f30x8.flash这个文件,却发现IAR的目录下没并没有。又怀疑是IAR文件丢失。 重新安装IAR,却发现问题仍然继续. ~~~~感觉像是芯片坏了~~~ 于是通过STVP工具,读取一下。 奇迹发生了,竟然可以读取程序。 嗯~~那可以排除芯片的问题。 好吧,那我重新用IAR下载应该可以吧。 于是重新下载程序, 晕~~~居然还是弹出那个错误。 难道自己的程序竟然会引起这样的错误??? !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! 于是通过STVP将
[单片机]
<font color='red'>STM32</font>无法使用IAR下载程序问题
52单片机有几个定时器?52单片机定时器1和52单片机定时器2程序对比
  52单片机有几个定时器?   STC89C52RC是有三个定时器的单片机,STC89C52RC共有3个定时器,分别是T0、T1、T2。   而51单片机只有T0,T1 两个定时器。   52单片机的默认(此时的IP寄存器不做设置)中断优先级为:   外部中断0 定时/计数器0 外部中断1 定时/计数器1 定时/计数器2 串行中断;   而在做定时则用一般采用16位模式,也就是TMOD=0x11(10或01单独一个定时器的话),初值的计算是这样的:   假设时间是X毫秒,晶振为YMhz,那么:   THn=(65536-1000*X*Y/12)/256   TLn=(65536-1000*X*Y/12)%256  
[单片机]
基于MSP430单片机的CCD相机调光电控系统设计
MagTek刷卡器阅读芯片21006450应用广泛,对于它的研究将有助于刷卡器阅读芯片驱动程序在实际中的应用。这里所研究的Android系统架构、芯片工作原理及接口调用是刷卡器阅读芯片驱动程序设计的理论基础,对驱动程序的实现做指导。 0 引言 Google公司在2007年11月5日推出了开源的An-droid操作系统,它是基于Linux内核的开源手机操作系统。目前,Android应用商店Android market已经拥有超过70 万个应用程序,有超过10 万名软件开发人员为Android开发应用程序,Android系统已经广泛运用于便携式移动设备。 移动POS机又称无线POS,是一种RF-SIM卡终端阅读器,通过CDMA,GPR
[电源管理]
基于MSP430<font color='red'>单片机</font>的CCD相机调光电控系统设计
关于51单片机学习中计数器/定时器中断的理解
对于单片机初学者来说,为了达到延时控制时间等目的,常常让单片机计算for循环函数,随着学习的深入,不可避免的,我们开始逐渐接触到了定时器/计数器中断来控制时间,这里针对定时器/计数器中断,专门作出如下讨论: 定时器/计数器是什么? 众所周知,一块单片机的基本由 中央处理器CPU、随机存储器RAM、只读存储器ROM、多种I/O口和中 断系统、定时器/计数器 构成, 定时器/计数器在单片机中的脚管位置,如图 我们可以看到,在P3系列的脚管中,P3.4,P3.5脚管上标注着T0,T1;它们分别代表着单片机内部的定时/计数器0,1,也就是英文 Timer 0,Timer 1,从图上看,一块80C51单片机上有着两个Time
[单片机]
关于51<font color='red'>单片机</font>学习中计数器/定时器中断的理解
兆易创新推出GD32G5系列Cortex®-M33内核高性能MCU,全面激发工业应用创新活力
中国北京(2024年11月13日)—— 业界领先的半导体器件供应商兆易创新GigaDevice(股票代码 603986)宣布,正式推出基于Arm® Cortex®-M33内核的GD32G5系列高性能微控制器。 GD32G5系列MCU凭借出色的处理性能、丰富多样的数字模拟接口资源以及强化的安全性能,可广泛适用于数字电源、充电桩、储能逆变、变频器、伺服电机、光通信等多元化场景。该系列全新产品组合提供LQFP、QFN、WLCSP等7种封装共14个型号,现已开放样片和开发板卡申请,12月起正式量产供货。 GD32G5系列Cortex®-M33内核高性能MCU 强劲性能赋能工业市场 GD32G5系列MCU采用Arm® C
[嵌入式]
兆易创新推出GD32G5系列Cortex®-M33内核高性能<font color='red'>MCU</font>,全面激发工业应用创新活力
小广播
设计资源 培训 开发板 精华推荐

最新单片机文章
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

换一换 更多 相关热搜器件
随便看看

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved