This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

[参考译文] CCS/MSP430G2553:MSP430和伺服

Guru**** 2583985 points


请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

https://e2e.ti.com/support/microcontrollers/msp-low-power-microcontrollers-group/msp430/f/msp-low-power-microcontroller-forum/633204/ccs-msp430g2553-msp430-and-servo

部件号:MSP430G2553

工具/软件:Code Composer Studio

您好,我必须使 此伺服与MSP430配合使用,以使用板载按钮启动和停止,同时点亮红色LED以显示停止,并点亮绿色以显示启动。 我启动代码,但在中断中不断出现错误。 有人能告诉你什么错了吗  

此处是代码  

#include<MSP430-h> int cn; int main (void)(#include<MSP430-h>内部客户端;内部主
{ WDTCTL = WDTPW + WDTHOLD;
P1DIR &=~BIT3;P1REN || BIT3;
P1OUT || BIT3;
P1DIR || BIT0 + BIT6;
P1OUT || BIT6;
P1OUT &=~BIT0;P1DIR || BIT2;
P1SEL || BIIT2;P1SEL2 &=~BIIT2;P1DIR || BIIT2;
P1SEL || BIT2;P1SEL2 &=~BIT2;
TA0CTL = MC_1 + Tassel_2;
TA0CCTL1 = OUTMOD_6;
TA0CCR0 = 2万;
TA0CCR1 = 2000;TA1CTL = MC_1 + Tassel_2;
TA1CCTL0 = CCIE;
TA1CCR0 = 3000;P1IE |= BIT3;
P1IES |= BIT3;
P1IFG = 0;
_enable_interrupts();
而(1){
}
}#pragma vector = Port1_vector __interrupt void Port_1 (void)
{ TA0CTL ^= MC_1;P1OUT ^= BIT0 + BIT6;P1IFG &=~BIT3;
}#pragma vector = Timer1_A0_vector __interrupt void Timer1_A0_ISR(void)
CNT++;
IF (cnt == 500)
{ TA0CCR1 =650;
}
IF (cnt == 1000)
{ TA0CCR1 =3000;cnt =0;}
}
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您好,

    您能否提供有关您所看到的错误的更多信息? 是否存在构建错误? 还是在运行时看到它们?

    此致,
    Nathan
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    TAOCTL ^= MC_1;
    P1OUT ^= BIT0 + BIT6;

    这两行给了我一个错误  

    第一个错误表明 TAOCTL未定义。 第二个错误说明它需要一个表达式。

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    #pragma#include 语句需要在单独的行上。 当我修复这个问题时,它构建了0错误。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您好,

    要澄清Bruce的评论, #pragma 语句需要位于ISR之前的一行。 例如:

    #pragma vector = Timer1_A0_vector
    __interrupt void Timer1_A0_ISR(void)


    }

    同样适用于#Include

    #include<MSP430-h>
    内部计数;
    内部主(无效)

    ...

    我不确定您发布的代码是否由于E2E格式而在同一行上有许多语句,或者这是否是您的代码实际的样子, 但是,将语句放在自己的行中将有助于防止这些构建错误,并帮助您在出现错误时予以修复。 不管怎样,您都需要进行上面详述的更改。

    此致,
    Nathan