我有一个包含"main.c“的项目,其中我需要更改一些硬变量,但我的公司很久以前就与编写代码的签约程序员失去了联系。我收到的源文件包括.dtp、.prj、.c和.r43文件类型,IC是MSP430F437IPZ。我有IAR的许可证,这里的一个非技术人员告诉我,这可能是承包商使用的许可证。
我无法在IAH或code composer中打开dtp/prj或导入它们,并且当我将代码复制/粘贴到新项目中时,尝试编译它时会在大多数行上抛出错误。
以下是部分main.c文件,以防对您有所帮助:
interrupt[TIMERA0_VECTOR] void Timer_A(void){
Tb++;
Ta++;
HSF = (~HSF)&0x01;
if(Tb >= 30){
Tb = 0;
P2OUT &= 0x7f;
}
if(Ta >= 120){
Ta = 0;
close_meter();
}
}
interrupt[PORT2_VECTOR] void poweroff(void){
P2IFG = 0x00;
CCTL0 |= CCIE;
LPM3_EXIT;
}
void main(void){
int i;
WDTCTL = WDTPW + WDTHOLD;
FLL_CTL0 = XCAP14PF;
SCFQCTL = 0x3f;
SCFI0 = FN_2 | FLLD_4;
FLL_CTL0 |= DCOPLUS;
TACTL = TASSEL0 + TACLR + MC0;
CCR0 = 16384;
CCTL0 = CCIE;
_EINT();如果我没有问对问题,我道歉,我通常是做硬件的。
发布于 2019-05-14 01:21:39
将代码复制/粘贴到IAR中的新工作区。为了消除所有错误,我只需要更新中断的过时语法。
interrupt[TIMERA0_VECTOR] void Timer_A(void){和
interrupt[PORT2_VECTOR] void poweroff(void){至
#pragma vector = TIMER0_A0_VECTOR
__interrupt void Timer_A(){和
#pragma vector = PORT2_VECTOR
__interrupt void poweroff(void){感谢@Eugene Sh。以及@Christian Gibbons关于中断语法看起来多么陈旧和有问题的对话,这让我走上了正确的道路。
https://stackoverflow.com/questions/56114997
复制相似问题