请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
器件型号: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; } }