В какой среде я могу открыть файлы prj / dtp? - PullRequest
2 голосов
/ 13 мая 2019

У меня есть проект, который включает в себя «main.c», где мне нужно изменить несколько жестких переменных, но моя компания давно потеряла связь с контрактным кодировщиком, который написал код.Исходные файлы, которые я получил, включают в себя типы файлов .dtp, .prj, .c и .r43, а микросхема MSP430F437IPZ.У меня есть лицензия на IAR, и один нетехнический специалист сказал мне, что это может быть то, что использовал подрядчик.

Я не могу открыть dtp / prj в IAH или кодировщике кода или импортировать их, и когда я копирую/ вставить в код в новый проект, попробуйте скомпилировать его, выдает ошибки в большинстве строк.

Вот некоторые из 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();

Я извиняюсь, еслиЯ не задаю правильные вопросы, я обычно делаю оборудование.

1 Ответ

2 голосов
/ 13 мая 2019

Копирование / вставка кода в новое рабочее пространство в 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 за разговор о том, как синтаксис прерывания выглядел старым и сомнительным, что поставило меня на правильный путь.

...