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.

[参考译文] MSP430F417:步进电机驱动器

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

https://e2e.ti.com/support/microcontrollers/msp-low-power-microcontrollers-group/msp430/f/msp-low-power-microcontroller-forum/988587/msp430f417-stepper-motor-drive

器件型号:MSP430F417

大家好。  

我不熟悉此论坛、 我尝试使用 MSP430F417驱动步进电机。 我要做的是、让电机在特定的旋转角度后停止。
我在 CCS 中编写代码、由于互联网上没有太多示例、我很困惑。 请告诉我哪里出了错误吗?
以下是我的代码:

以下是我的代码:

               
                #include <msp430.h>

                #define SM_clk 1000000
                #define servo_freq 50
                #define Stepper BIT4

                int step=0;

                void main(void)
                {
                    WDTCTL = WDTPW | WDTHOLD;   // stop watchdog timer
                    __bis_SR_register(LPM0+GIE);

                    int PWM_periyot =SM_clk/servo_freq;        
                    P1DIR = 0xFF;
                    P2DIR = 0XFF;
                    P3DIR = 0xFF;
                    P4DIR = 0XFF;
                    P5DIR = 0xFF;
                    P6DIR = 0XFF;

                    P2IE  |= BIT1;
                    P2IES |= BIT1;
                    P2IFG &= BIT1;

                    CCR1 = TAIE;
                    TA1CCR1 = PWM_periyot;        
                    TA1CCR1 = 0;                    
                    TA1CCTL1 = OUTMOD_7;
                    TA1CTL=TASSEL_2+MC_1;
                    .


                }


                #pragma vector=TIMER1_A0_VECTOR
                __interrupt void Timer_A(void){

                    switch(TA1IV){

                    case 0:
                        TA1CCR1 = 600; 
                        __delay_cycles(19400);
                        TA1R=0X000;
                        break;

                    case 1:
                        TA1CCR1 = 1125; 
                        __delay_cycles(18875);                  
                        break;

                    case 2:
                        TA1CCR1 = 1650;                      
                        __delay_cycles(18350);
                        break;

                    case 3:
                        TA1CCR1 = 2175;              
                        __delay_cycles(17825);
                        break;

                    case 4:
                        TA1CCR1 = 2700;               
                        __delay_cycles(17300);
                        break;
                      }

                }

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

    您预期会发生或不会发生什么情况?

    您如何连接到步进电机?

    什么是步进电机?

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

    如果您将 MSP 发送到第12行的 LPM0、则其余代码将不会执行!

    第27行中的分配被第28行中的0覆盖!

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

    发动机不启动或不停止运转。
    该电路是在 PCB 板上设计的。
    我使用的是单极步进电机。

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

    没有第27行。 是否可以再次检查行号?

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

    电路板对代码进行格式化的方式如下:

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

    谢谢你