历史上的今天
今天是:2024年08月26日(星期一)
2018年08月26日 | 寄存器名称和地址的映射分析
2018-08-26 来源:eefocus
一,对比51单片机和STM32对寄存器的操作
1)51单片机:
sfr P0=0x80; //关键字sfr 声明地址和名称的映射
P0=0x00; //将0x00赋值给P0口的8位(51单片机一组IO为8位)
2)STM32:
GPIOA->ODR=0x00000000 //为GPIOA的ODR寄存器地址赋值0x00000000
二,以GPIOA为例说明STM32寄存器和名称的映射:
GPIOA下的某个寄存器,挂载在GPIOA下,地址为GPIOA基地址+偏移量
GPIOA挂载在APB2总线,地址为APB2总线基地址+GPIOA偏移量
ABP2挂载加外设基地址,地址为外设基地址+ABP2偏移量
源码中可以找到:
//外部总线基地址
#define PERIPH_BASE ((uint32_t)0x40000000)
//APB2基地址=外部总线基地址+偏移量
#define APB2PERIPH_BASE (PERIPH_BASE + 0x10000)
//GPIOA基地址=APB2基地址+偏移量
#define GPIOA_BASE (APB2PERIPH_BASE + 0x0800)
//GPIOA将地址顺序分配给7个32位寄存器(结构体分配)
#define GPIOA ((GPIO_TypeDef*)GPIOA_BASE)
//将寄存器地址映射到7个32位寄存器,分别控制
typedef struct
{
__IO unit32_t CRL;
__IO unit32_t CRH;
__IO unit32_t ODR;
__IO unit32_t IDR;
__IO unit32_t BSRR;
__IO unit32_t BRR;
__IO unit32_t LCKR;
}GPIO_TypeDef;
在STM32手册中:GPIO寄存器地址映像如下:
如此,实现STM32寄存器名称和地址之间的映射关系
史海拾趣
|
现在我使用RMI AU1250+Windows CE 5.0,运行Windows CE 5.0 SDK中的示例,发现如果触摸屏没有动作时显示的速度很快,例如:DDEX3 这个例子。但是触摸屏一有动作马上能看到显示速度极度下降。 不知道各位是否遇到过这样的问题?因为就从感官上来说 ...… 查看全部问答> |
|
我的2440的CE6.0bsp编译eboot时为什么不能生成eboot.nb0 文件而只有eboot.bin??? 我的2440的CE6.0bsp编译eboot时为什么不能生成eboot.nb0 文件而只有eboot.bin???… 查看全部问答> |
|
上次申请8962的时候,写了一个关于系统时钟的文章,不过这些文章都是参考技术手册和别人分享的经验,总结出来的,在我发的这个帖子里,有位longxtianya 坛友问了关于这个问题,我感觉他考虑问题比较深入,我当时没 ...… 查看全部问答> |
|
目前在做一个costas环的FPGA实现,这个在通信中是载波同步的常用元件。除了环路滤波器的参数设置以外,参考资料上关于数字鉴频器(PD)部分的介绍非常简单,从我看资料的感觉数字鉴频器就是得到相位偏差的算法。而环路滤波器就是通过偏差的相位得到 ...… 查看全部问答> |
|
本帖最后由 jameswangsynnex 于 2015-3-3 20:04 编辑 既然我们要说机械键盘,那么首先说说关于键盘的种类吧,键盘主要有四个种类分别是:机械构造键盘、塑料薄膜构造键盘、导电橡胶式键盘、无接点静电电容键盘。其中导电橡胶键盘类似任天堂红白机 ...… 查看全部问答> |
|
一般描述 SI4432TRS无线模块是采用Silicon Laboratories 的Si4432 芯片研发出的高性能、高稳定性的无线模块。 SI4432是一款高度集成的无线ISM 频段收发芯片。他具有极高的接收灵敏度(-121 dBm),再加上业界领先的+20 dBm 的输出 ...… 查看全部问答> |
|
随着中国社会老龄化的加深,医疗行业的需求达到了一个前所未有的高度。飞思卡尔也应时地推出了众多医疗电子的产品。在本视频中,让我们在展会中将飞思卡尔的医疗电子样例一网打尽。 $(\'flv_lgo\').innerHTML=(AC_FL_RunContent(\'width\', \'500\ ...… 查看全部问答> |




