STM32中的(bit-band)
来源:互联网 发布:华为p8root软件 编辑:程序博客网 时间:2024/05/21 15:01
今天再看STM32的位带操作,觉得还是有点意思的
STM32是32位的CPU所以操作都是直接操作32位数的如果想要操作bit级别的就需要映射,其实还是通过操作32位的别名区来进行位操作。这样呢, 1MB SRAM 就可以 32M 个对应别名区空间,就是 1 位膨胀到 32 位( 1bit 变为 1 个字);我们对这个别名区空间开始的某一字操作,置 0 或置 1,就等于它映射的 SRAM 或 I/O 相应的某地址的某一位的操作。
下面来看一下是如何来计算位带区和位带别名区的关系的假设A为寄存器的地址
最后得到的关系如下
SRAM :0x22000000 +((A‐0x20000000)*8+n)*4
FLASH :0x42000000 +((A‐0x40000000)*8+n)*4
#define BITBAND(addr, bitnum) ((addr & 0xF0000000)+0x2000000+((addr &0xFFFFF)<<5)+(bitnum<<2)) #define MEM_ADDR(addr) *((volatile unsigned long *)(addr)) //转化为32位的地址,并取出地址中的内容 #define BIT_ADDR(addr, bitnum) MEM_ADDR(BITBAND(addr, bitnum)) #define PAout(n) BIT_ADDR(GPIOA_ODR_Addr,n) //输出 #define PAin(n) BIT_ADDR(GPIOA_IDR_Addr,n) //输入
0 0
- STM32中的(bit-band)
- STM32中的位带(bit-band)操作
- STM32中的位带(bit-band)操作
- STM32中的位带(bit-band)操作
- 【知识点】bit-band(stm32)
- STM32之bit band 操作理解
- 理解stm32 bit-band映射公式
- bit-band
- 理解stm32 bit-band映射公式【转】
- 理解stm32 bit-band映射公式【转】
- STM32之Bit-Banding
- STM32之Bit-Banding
- Cortex-M3 bit-band (位带)的学习
- STM32F1学习-深入理解存储器(存储器映射以及bit-band)
- (39)Air Band OpenCV_找到图像中的轮廓
- radar band X band
- 数据库中的bit
- mysql 中的bit数据类型
- Struts2数据传输的背后机制:ValueStack(值栈)
- 安卓计算器
- 控制台相关语法
- 在MacBook上查看Java的安装路径并设置JAVA_HOME变量
- Codeforces Round #309 (Div. 1) D. Nudist Beach 二分 贪心
- STM32中的(bit-band)
- 黑马程序员----java中的多态
- cocos 关于文件名的各种坑 各种斜杠坑
- 黑马程序员——泛型(Generic)的理解和使用
- 随笔(一)
- Gradle tip #3-Task顺序
- EularProject 40: 计算正整数连接构成无理数的确定位
- Java多线程
- 黑马程序员!开博第一天,纪念成功被“黑马程序员”培训学校IOS基础班录取