初级会员

- 积分
- 197
- 金钱
- 197
- 注册时间
- 2012-1-26
- 在线时间
- 0 小时
|
发表于 2012-1-29 12:13:10
|
显示全部楼层
回复【楼主位】1126163471:
---------------------------------
SCB是MDK库文件里面定义的一个结构体,subsystem control block子系统管理模块,在CM3权威指南没有SCB这个寄存器,SCB包含CM3中多个寄存器。如果要找寄存器,你必须搜索SCB->寄存器名。如SCB->AIRCR,怎搜索AIRCR.
/*以下是MDK库文件stm32f10x_map.h中的定义*/
typedef struct
{
vuc32 CPUID;
vu32 ICSR;
vu32 VTOR;
vu32 AIRCR;
vu32 SCR;
vu32 CCR;
vu32 SHPR[3];
vu32 SHCSR;
vu32 CFSR;
vu32 HFSR;
vu32 DFSR;
vu32 MMFAR;
vu32 BFAR;
vu32 AFSR;
} SCB_TypeDef;
#define SCB_BASE (SCS_BASE + 0x0D00) //可以注意到SCS_BASE,即SCB寄存器组的地址是在这里
#define SCB ((SCB_TypeDef *) SCB_BASE)
不凡搜索一下SCS(《CM3权威指南中文版》),得到以下文字:
NVIC所处的区域叫做“系统控制空间(SCS )”, 在 SCS 里的除了NVIC外,还有 SysTick 、MPU以及代码调试控制所用的寄存器。 |
|