如何实现:

一、寄存器地址映射

二、寄存器各位定义

三、中断号定义

关于一,怎么说呢,可以参考一下《STM32F4开发指南——库函数版本》里边的4.6小节“MDK中寄存器地址名称映射分析”,这篇文章介绍的比较清楚,其中需要注意的是什么呢:

1. STM32,我想顾名思义,这个32可能也是表明他的寄存器都是32位的吧,这样的话每一个寄存器就都可以有bit0~bit31,也就是4个连续的字节,比如0x00,0x01,0x02,0x03。因此寄存器的偏移地址0x00,0x04,0x08。。。

2. 刚才提到了连续,那各个寄存器之间也要用连续的地址才行,什么样的数据结构可以保证地址连续呢?就是结构体类型,结构体类型的成员变量地址具有连续性。

3. 将地址强制转换为结构体指针~~将结构体与寄存器地址对映上

关于二,寄存器各个位如何定义,看一下下图就知道了

关于三,中断号如何定义,也是用结构体,其中需要注意的是Cortex-M处理器本身有中断,中断号是-14 ~ -1。

寄存器地址映射+寄存器各位定义+中断号定义相关推荐

  1. (四)STM32F407总线架构、时钟系统配置相关的函数,IO 引脚复用器和映射,NVIC中断管理,寄存器地址映射

    基础知识 一.GPIO输入输出各种模式 二.STM32F407总线架构 三.STM32F407时钟系统 (1) STM32F4 时钟树概述 (2)STM32F4 时钟初始化配置 (3)STM32F4 ...

  2. MDK寄存器地址映射分析

    在51单片机中: 首先我们看看 51 中是怎么做的.51 单片机开发中经常会引用一个 reg51.h 的头文件,下面我们看看他是怎么把名字和寄存器联系起来的: sfr P0 =0x80; sfr 也是 ...

  3. 【嵌入式开发】ARM 关闭中断 ( CPRS 中断控制位 | 中断使能寄存器 | 中断屏蔽寄存器 | 关闭中断 | 汇编代码编写 )

    一. 中断控制 ( 基于 S3C6410 开发板 ) 1. 关闭中断的两个步骤 (1) 关闭中断步骤 2. CPRS 寄存器中的中断控制位 (1) CPRS 寄存器简介 (2) CPRS 寄存器 中断 ...

  4. 中断技术之中断的定义,中断服务程序的设计方法,中断处理的过程以及中断向量表的建立

    一,中断的定义 在CPU执行程序的过程中,出现了某种紧急或异常的事件(中断请求),CPU需要暂时停止正在执行的程序,转去处理该事件(执行终端服务程序),并在处理完毕后,返回断点继续执行被暂停的程序,这 ...

  5. cortex-m3 操作模式 寄存器组 异常类型 堆栈 中断

    cortex-m3 操作模式 寄存器组 异常类型 堆栈 中断 参考 操作模式 处理器的操作模式:为了区别正在执行代码的类型.复位后,处理器进入线程模式.特权级. 处理者模式(handler mode) ...

  6. 宏定义中#号和##号的使用

    在技术群中有人提了一个问题:如何定义一个宏,打印传递过来的参数的地址.这很简单,像下面这样 [objc] view plaincopy #define pl(param)  NSLog(@" ...

  7. socket如何定义端口号才能避免和其他程序冲突?

    问:看了不少socket通信的例子,例子上很多都是随意定一个端口号, 如果这样做,万一别人机器上这个端口号已经被其他程序占用怎么办? 这个问题怎么解决? 答1:不要在程序中写死,而是通过配置文件可以让 ...

  8. 51单片机外部中断实验 设置中断优先级寄存器,当有外部中断0请求中断时,中断程序执行发光二极管程序,在此过程中,外部中断1也有中断请求,外部中断0的中断程序将被中断去执行外部中断1的中断程序(数码管

    设置中断优先级寄存器,当有外部中断0请求中断时,中断程序执行发光二极管程序,在此过程中,外部中断1也有中断请求,外部中断0的中断程序将被中断去执行外部中断1的中断程序(数码管加1显示程序). #inc ...

  9. 如何定义公众号做的好

    如何定义公众号做的好?[199cloud-艾娜] 主要有三个标准,一是粉丝数多,二是增长速度快,三是能通过公众号营利. 去除掉一些外部因素后,比如有经验.有资源.有资金等,小公举分享几点经验,在力所能 ...

最新文章

  1. Java面试题及答案整理 140道( 2021年持续更新)
  2. 第五百七十二、三天 how can I 坚持
  3. 我在这里,等你的故事【小废回家看看】
  4. luogu P3796【模板】AC自动机(加强版)
  5. 提升的控件 paint()事件被遮挡_设计锦囊 | 提升产品易用性案例分享
  6. Redis中的zset 存储结构(实现)原理
  7. ASP.NET(C#)获取客户端的网卡MAC代码
  8. Java各种日期计算
  9. 【数据库系统原理】数据库设计
  10. 数据库优化相关面试题
  11. 基于预测分析表法的语法分析程序
  12. HyperLynx(二十二)DDR(五)DDRx总线时序模型设计
  13. 基于Python实现的PageRank算法
  14. linux后台运行服务
  15. http-invoker插件原理解析
  16. 最小二乘法拟合椭圆——MATLAB和Qt-C++实现
  17. pytorch2-gym
  18. Facebook sdk嵌入,登陆与注销
  19. eclipse中设置字体大小
  20. 函数式编程:Python 调用迅雷下载

热门文章

  1. 封装一个简陋的promise
  2. Flink源码阅读-教你阅读Flink 源码
  3. vue和小程序的生命周期
  4. PyTorch学习(八)CNN手写体识别
  5. MRI影像学习笔记(四)
  6. CMD数据库备份与恢复拒绝访问及MySQL语法错误
  7. 什么耳机打游戏好用又不贵?蓝牙游戏耳机推荐
  8. dns改成什么网速快_dns怎么设置网速快(教你快速解决网速慢的问题)
  9. java计算机毕业设计智慧物业管理系统源码+数据库+lw文档+系统+部署
  10. mapn安装完后mysql配置文件目录_k8s实践4:容器应用配置文件管理利器configmap