- 1、本文档共17页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
PAGE
PAGE #
SYS.C程序解释
#i nclude stm32f10x_lib.h
#include sys.h
//设置向量表偏移地址
〃NVIC_VectTab:基址
//Offset: 偏移量
//CHECK OK
//091207
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 的
向量表偏移寄存器
//用于标识向量表是在 COD区还是在RAM区
}
解释:前面两行是用来检查参数合法性,这里不作分析。重点看第三行。
#defi ne NVIC_VectTab_RAM
((u32)0x)
#defi ne NVIC_VectTab_FLASH
@32)0
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;
在VV权威指南 第一百零四页,有这么一段话:
NVIC中有一个寄存器,称为向量表偏移量寄存器”在地址0xE000_ED08处), 通过修改它的值就能定位向量表。 但必须注意的是:向量表的起始地址是有要求的: 必须先求出系统中共有多少个向量,再把这个数字向上增大到是 2的整次幕,而起
始地址必须对齐到后者的边界上。例如,如果一共有 32个中断,则共有32+16 (系
统异常)=48个向量,向上增大到2的整次幕后值为64,因此地址 地址必须能被64*4=256整除,从而合法的起始地址可以是: 0x0, 0x100, 0x200等。
Offset:是偏移量的计算
也就是说STM32自己有60个中断,加上CM3的16个,总共有76个中断,扩大到2 的整次幕,那就是128,然后再乘以4,得到512,也就是0X200.根据这样计算,合法 的偏移地址应该是0X0,0X200,0X400,0X600,0x800……
29 TBLBASE R/W 0 Table base in Code (0) or RAM (1)
28:7 TBLOFF R/W 0 Table offset value from Code regio n or RAM region
屏蔽前七位0x仆FFFF80和后三位+Offset + VECTTOR 就是开始地址,低7位没 有用到,所以0X80。
VTOR设置只有BIT【28 : 7】,你把(u32)0x仆FFFF80二进制看看是不是【28:7】。
表乩H向量表fll移寄村器的位分配
域
名称
131:30]
探紹
㈣
TBLBASE
向眦去皋址位J Code (0)或RAM 1 itfc
RS:7]
TBLOFF
向曜松的a址偏修域 包衲向?左的岸址口 SR.AM应conr.空何的庇洗的慎移
?
|6:0]
向眾農僞秽寄存器将向托左定位在CODE或SRAM中 默认怙况卜U位时为0 { CODE 空泗儿定位时,帕移星必须根抑耘中异常的数口来对壽。即最小的对齐肚32字対齐‘对供 16个中断使用「们片茅I 16个中断时、你必须通过“四舍扛入(roundup将梵对齐调节 成2的卜.一个乘泵。例如.如來你盂耍21个中断,而由F衣的大小是37个字* 2的卜?一个 乘笊(2f5+n为64,囚此必须在64字边界上实现对齐“
//设置 NVIC 分组
//NVIC_Group:NVIC 分组 0~4 总共 5 组
//CHECK OK
//091209
void MY_NVIC_PriorityGroupConfig(u8 NVIC_Group)
{
u32 temp,temp1;
temp1=(~NVIC_Group)0x07; // 取后三位
temp1=8;
temp=SCB-AIRCR; //读取先前的设置
temp=0X0000F8FF; // 清空先前分组
temp|=0X05FA0000; // 写入钥匙
temp|=temp1;
SCB-AIRCR=temp; //设置分组
}
解释:CM3内核支持256个中断,其中包含了 16个内核中断和240个外部中断, 并且具有2
您可能关注的文档
- maya影视动画、三维动漫考题题库.docx
- maying小学德育活动记录表(word文档良心出品).docx
- mbr平板膜污水处理方案.docx
- MRP采购管理实务(doc32页).docx
- N6210型柴油机说明书.docx
- NRF24L01MSP430发送接收程序(word文档良心出品).docx
- OA办公应用系统的解决方案(doc8页).docx
- OOP技术:易语言面向对象学习.docx
- ORACLERAC日常管理概述(doc7页).docx
- Oracle数据库复习题(doc8页).docx
- 第3章生命活动的调节单元测试卷-2024-2025学年浙教版八年级上册科学.docx
- 专题十二解读热点会议领悟时代精神-2023年中考道德与法治必备时政热点专题解读与押题预测.pptx
- 动词不规则变形--摇摇乐.pptx
- Unit3AmazinganimalsPartAWhatpetsdoyouknow(教学设计)-人教PEP版(2024)英语三年级上册.docx
- 2024-2025学年高一写作指导青春奋斗.docx
- 读后续写--冰场抉择竞争与善良的共舞体育精神的绽放讲义-山东省聊城市2022-2023学年高一上学期期末考试英语试题.docx
- Unit1ScienceandScientistsReadingandThinking课件高中英语人教版选择性2.pptx
- Unit1What'sthematterSectionA(1a2d)课件人教版八年级英语下册.pptx
- 【教无忧】高中语文课件选择性必修下册(2019)《自然选择的证明》.pptx
- 人类的聚居地聚落课件七年级地理上学期人教版(精修版)(完整版)5.pptx
文档评论(0)