我有一个包含“ main.c”的项目,需要在其中更改一些硬变量,但是我的公司早就与与编写代码的合同编码器失去联系。我收到的源文件包括.dtp,.prj,.c和.r43文件类型,并且IC是MSP430F437IPZ。我有IAR的许可证,这里的一个非技术人员告诉我,承包商可能正在使用这种东西。
我无法在IAH或代码编辑器中打开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();
很抱歉,如果我问的不是正确的问题,我通常会做硬件。
答案 0 :(得分:2)
将代码复制/粘贴到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进行了有关中断语法看起来陈旧和可疑的对话,这使我走上了正轨。