单片机直流电机驱动问题


#include <STC32G.H>
#include "intrins.h"
sbit EnablePin = P2^0; // 使能信号  
sbit DirectionPin = P2^1; // 方向信号  
sbit PulsePin = P2^2; // 脉冲信号  
#define FOSC 24000000 //@24.000MHz  
void delay(unsigned char xms)        //@24.000MHz
{
    unsigned long edata i;
  while(xms--){
    _nop_();
    _nop_();
    _nop_();
    i = 58UL;;
    while (i) i--;
}
}
void main() {  
    P2M0 = 0x07;  
    P2M1 = 0x00;  
    PulsePin = 1;  
    EnablePin = 1;
    DirectionPin = 0;   
    while (1) {  
        PulsePin = 1;   
        delay(1);   
        PulsePin = 0; 
        delay(1);  
    }  
}

代码有啥错误码可以帮忙指出吗 我的直流电机不会转 用示波器测又有波形输入和输出

有没有可能脉冲时间太短了,可以加大延时试试。我前两天也遇到电机不转,加大时间就转了

【相关推荐】




如果你已经解决了该问题, 非常希望你能够分享一下解决方案, 写成博客, 将相关链接放在评论区, 以帮助更多的人 ^-^