SCB->VTOR = NVIC_VectTab|(Offset & (u32)0x1FFFFF80);//设置NVIC的向量表偏移寄存器 中
这个结构体
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_T
的寄存器我怎么在STM32RM里面找不到啊。这些寄存器我要去看哪个手册才能看到啊?不然我怎么知道它每一位是有什么作用的。
后面我发现SCB的寄存器怎么都找不到啊,比如SCB->AIRCR
还有
#define IS_NVIC_PRIORITY_GROUP(GROUP) (((GROUP) == NVIC_PriorityGroup_0) || \
((GROUP) == NVIC_PriorityGroup_1) || \
((GROUP) == NVIC_PriorityGroup_2) || \
((GROUP) == NVIC_PriorityGroup_3) || \
((GROUP) == NVIC_PriorityGroup_4))
||\这个是怎么意思啊,看不明白啊,这种宏定义没用过啊。
系统文件里面很多函数都看得不是很明白,例如向量表偏移地址的设置向这种我觉得看起来都不很明白啊,更不用说自己写出来,原子哥当年是怎么把系统文件里面的函数
一个个写出来的,求指条明路啊,谢谢了
void MY_NVIC_SetVectorTable(u32 NVIC_VectTab, u32 Offset)
{
//检查参数合法性
assert_param(IS_NVIC_VECTTAB(NVIC_VectTab));
assert_param(IS_NVIC_OFFSET(Offset));
SCB->VTOR = NVIC_VectTab|(Offset & (u32)0x1FFFFF80);//设置NVIC的向量表偏移寄存器
//用于标识向量表是在CODE区还是在RAM区
}
还有我用JTAG下程序的时候为什么总出现这个提示
|