当前位置: 首页 > news >正文

如何访问寄存器

标题

  • 方式一:对地址进行宏定义
  • 方式二:用结构体封装寄存器

访问寄存器是CPU执行程序的基础,每种CPU架构都有其特定的寄存器集合和访问方式。

方式一:对地址进行宏定义

#define GPIOA_BASE ((unsigned int)0x48000000)
#define GPIOA_ODR  (GPIO_BASE + 0X14)
//读操作
val1 = *(unsigned int*)GPIOA_ODR
//写操作
*(unsigned int*)GPIOA_ODR = val2

方式二:用结构体封装寄存器

typedef struct{uint32_t MODER;uint32_t OTYPER;uint32_t OSPEEDR;uint32_t IDR;uint32_t ODR;uint32_t BSRR;uint32_t LCKR;
}GPIO_TypeDef;//定义首地址
#define GPIOA_BASE ((unsigned int)0X48000000)
#define GPIOA ((GPIO_TypeDef *)GPIOA_BASE)
//访问方式
//这行代码是在操作GPIO端口的输出数据寄存器,而不是设置内存地址。
//0x14是作为数据被写入到寄存器中,以控制GPIO引脚的输出状态。
GPIOA->ODR = 0x14;
http://www.lryc.cn/news/375149.html

相关文章:

  • 苍穹外卖笔记-18-修改密码、bug记录
  • java如何截取字符串
  • 虚拟淘宝-Virtual-Taobao论文解读(AAAI2019)
  • 低代码组件扩展方案在复杂业务场景下的设计与实践
  • 震撼科技界的GPT-4o发布首日即遭“越狱破防”
  • 保护密码安全,探讨密码加盐及其在Go语言中的实现
  • Sqoop学习详细介绍!!
  • 【2024最新华为OD-C/D卷试题汇总】[支持在线评测] 生成哈夫曼树(100分) - 三语言AC题解(Python/Java/Cpp)
  • ctfshow web 单身杯
  • 天锐绿盾加密软件,它的适用范围是什么?
  • mysql面试题 Day2
  • Excel加密怎么设置?这5个方法不容错过!(2024总结)
  • 2024年下一个风口是什么?萤领优选 轻资产创业项目全国诚招合伙人
  • Redis 网络模型
  • 【设计模式之组合模式 -- C++】
  • C# 通过Win32API设置客户端系统时间
  • VirtualHere 允许通过网络远程使用 USB 设备,就像本地连接一样!
  • 【Kubernetes】k8s 自动伸缩机制—— HPA 部署
  • MT1415 大小相同
  • 使用python库moviepy完成视频剪辑
  • Java高手的30k之路|面试宝典|精通泛型
  • 清理Linux操作系统buff/cache缓存
  • 接口测试的几种方法
  • OpenGL3.3_C++_Windows(3)
  • 24执业药师报名时间汇总及报名流程!
  • 成都跃享未来教育咨询解锁新篇章
  • 怎么把网页上的接口信息导入postman
  • 10KM无人机高清图传通信模组,低延迟、抗干扰,飞睿智能无线MESH组网模块
  • 分布式文件存储 - - - MinIO从入门到飞翔
  • Python界面编辑器Tkinter布局助手 使用体验