工具/软件:TI C/C++编译器
我在触发 USCI_B1中断时遇到问题。
因此、我决定查看我是否可以运行任何内容
我创建了一个名为 interrupt.c 的文件、并为每个中断在其中放置代码。
编译时遇到链接错误。
编译配置:RycherI2C -调试
正在更新生成树...
interrupt.c
链接
ERROR[E16]:段复位(大小:0x2对齐:0x1)对于段定义而言太长。 至少需要额外0x2个字节。 在处理段放置命令"-Z (code) reset=FFFE-FFFFFFF"时出现问题、位置在
放置时刻可用的存储器范围为"-none"-
与此放置相关的保留范围:
FF80-FFFF INTVEC
运行链接器时出错
错误总数:1.
警告总数:0
在稍微播放一下之后、我发现以下中断导致了错误。
#pragma vector=reset_vector
_interrupt void Reset_interrupt (void)
{
/*这里的中断代码*/
interrupt_count++;
}
在 MSP430F5329.h 文件中、它将复位矢量定义为
#define RESET_Vector (63u * 2U)/* 0xFFFE 复位[最高优先级]*/
那么、如果我不能使用该矢量、那么为什么要使用它呢?
此外、我无法从文档中得知的值是否为
#pragma vector=126
即 (63u * 2U)
或 #pragma vector= 65534
即0xFFFE
我认为它应该是0xFFFE、但我使用的是126的 RESET_Vector。