完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
usart实验 NVIC_SetVectorTable(NVIC_VectTab_FLASH, 0);这句要加?
我没加也可以中断 而我同学写的一个实验,必须加这句,不加不会进中断,不只哪里有问题 |
|
相关推荐
5个回答
|
|
这句是必要的.
|
|
|
|
#ifdef VECT_TAB_RAM
/* Set the Vector Table base location at 0x20000000 */ NVIC_SetVectorTable(NVIC_VectTab_RAM, 0x0); //向量表位于RAM #else /* VECT_TAB_FLASH */ /* Set the Vector Table base location at 0x08000000 */ NVIC_SetVectorTable(NVIC_VectTab_FLASH, 0x0); //向量表位于FLASH #endif usart实验 NVIC_SetVectorTable(NVIC_VectTab_FLASH, 0),是不是在调试模式下要加,如果直接下载到芯片中运行就不需要加? |
|
|
|
都需要加的,这个你如果想做IAP/SRAM运行代码的时候,就显得十分重要了.
|
|
|
|
CM3权威指南中:
8.5 中断系统设置全过程的演示 下面给出一个简单的例子,以演示如何建立一个外部中断。 1. 当系统启动后,先设置优先级组寄存器。缺省情况下使用组0(7位抢占优先级,1位亚优 先级)。 2. 如果需要重定位向量表,先把硬fault和NMI服务例程的入口地址写到新表项所在的地址中。 3. 配置向量表偏移量寄存器,使之指向新的向量表(如果有重定位的话) 4. 为该中断建立中断向量。因为向量表可能已经重定位了,保险起见需要先读取向量表偏移 量寄存器的值,再根据该中断在表中的位置,计算出对应的表项,再把服务例程的入口地址填写进去。如果一直使用ROM中的向量表,则无需此步骤。 如果应用程序储存在ROM中,并且不需要改变异常服务程序,则我们可以把整个向量表编码到 ROM的起始区域(从0地址开始的那段)。在这种情况下,向量表的偏移量将一直为0,并且中断向量 一直在ROM中,因此上例可以大大简化,只需3步: 1. 建立优先级组 2. 为该中断指定优先级 3. 使能该中断 可不可以这样理解:你不写这句,中断向量表就在FLASH的起始地址0x08000000中,如果你加上 #ifdef VECT_TAB_RAM /* Set the Vector Table base location at 0x20000000 */ NVIC_SetVectorTable(NVIC_VectTab_RAM, 0x0); //向量表位于RAM #else /* VECT_TAB_FLASH */ /* Set the Vector Table base location at 0x08000000 */ NVIC_SetVectorTable(NVIC_VectTab_FLASH, 0x0); //向量表位于FLASH #endif 就可以在flash中的其他地址放中断向量表或在RAM中使用向量表 |
|
|
|
关键是后面的参数。
例如: /* Set the Vector Table base location at 0x08000000 */ NVIC_SetVectorTable(NVIC_VectTab_FLASH, 0x0); //向量表位于FLASH 这个0X0,就是偏移了。如果你的程序是从0X08001000开始的,那么这个就应该设置为: NVIC_SetVectorTable(NVIC_VectTab_FLASH, 0x1000); //向量表位于FLASH |
|
|
|
只有小组成员才能发言,加入小组>>
调试STM32H750的FMC总线读写PSRAM遇到的问题求解?
1792 浏览 1 评论
X-NUCLEO-IHM08M1板文档中输出电流为15Arms,15Arms是怎么得出来的呢?
1626 浏览 1 评论
1094 浏览 2 评论
STM32F030F4 HSI时钟温度测试过不去是怎么回事?
732 浏览 2 评论
ST25R3916能否对ISO15693的标签芯片进行分区域写密码?
1682 浏览 2 评论
1943浏览 9评论
STM32仿真器是选择ST-LINK还是选择J-LINK?各有什么优势啊?
740浏览 4评论
STM32F0_TIM2输出pwm2后OLED变暗或者系统重启是怎么回事?
577浏览 3评论
600浏览 3评论
stm32cubemx生成mdk-arm v4项目文件无法打开是什么原因导致的?
563浏览 3评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-12-26 14:36 , Processed in 1.307457 second(s), Total 53, Slave 47 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号