请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
器件型号:MSP430F417 大家好。
我尝试使用 MSP430F417卡驱动步进电机。 我现在要做的是让步进电机在短路后完全停止。 在谷歌搜索后使用 PWM 信号感觉是正确的选择。
但我仍然不知道如何实现它。 有人能给我一个想法吗?
以下是我的代码:
#include "io430.h"
#include "in430.h"
void begin_counting( unsigned target_count)
{
TA1CTL &= ~BIT4;
TA1R = 0;
TA1CCR0 = target_count;
TA1CCTL0 &= ~CCIFG;
TA1CTL |= BIT4;
}
void main()
{
WDTCTL = WDTPW + WDTHOLD; // Stop the Watchdog
void Delay(int j);
P6SEL &= ~BIT4;
P6DIR |= 0xFF;
P6OUT &= ~0XFF;
CCR0 = 128; // PWM Periyot/2
CCTL1 = OUTMOD_7; // CCR1 reset/set
CCR1 = 32; // CCR1 PWM duty cycle
TACTL = TASSEL_2 + MC_3; // SMCLK, up-down mode
begin_counting( 20 );
P6OUT |= BIT4;
Delay(50);
while(1){
if((P6IN & BIT5)==0){
P6OUT &=~BIT4;
Delay(30);
}
}
}
void Delay(int j)
{
int i;
for(j=0;j<100;j++)
for(i=0;i<0xFFFF;i++);
}
谢谢你。