烧进小车电机不动,帮忙看看

2019-08-17 01:17发布

#ifndef __PWMDIAN_H
#define __PWMDIAN_H         


void Motor_Init(void);
extern void Move(int counter,int PC1_pulseWide,int PC0_pulseWide);



#endif


#include "pwmdian.h"
#include "delay.h"

void Motor_Init(void)
{
        GPIO_InitTypeDef  GPIO_InitStructure;
        RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOC, ENABLE);       //PORTC时钟使能  
       
        GPIO_InitStructure.GPIO_Pin=GPIO_Pin_1|GPIO_Pin_0; //Pin.1 Pin.0
        GPIO_InitStructure.GPIO_Speed= GPIO_Speed_50MHz;        
        GPIO_InitStructure.GPIO_Mode=GPIO_Mode_Out_PP;                //推挽输出
       
       
        GPIO_Init(GPIOC, &GPIO_InitStructure);       
}

void Move(int counter,int PC1_pulseWide,int PC0_pulseWide)
{
        int i;
        for(i=1;i<=counter;i++)
        {
                GPIO_SetBits(GPIOC,GPIO_Pin_0 );
                delay_us(PC1_pulseWide);
                GPIO_ResetBits(GPIOC,GPIO_Pin_0);
                GPIO_SetBits(GPIOC,GPIO_Pin_1 );
                delay_us(PC0_pulseWide);
                GPIO_ResetBits(GPIOC,GPIO_Pin_1);
                delay_ms(20);
        }
       
}




#include "stm32f10x.h"
#include "pwmdian.h"



int main(void)
{
        Motor_Init();
        Move(65,1300,1700);
        while(1);
}


友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
6条回答
沧海
1楼-- · 2019-08-17 03:31
这么会转?用PWM才行。时间太长。
苻轩宇1993
2楼-- · 2019-08-17 09:25
检查一下你的电机的驱动电压是否匹配,一般电机的驱动电压是5V的,板子上的引脚电压可能是3.3V,如果电压不匹配,当然就转不起来了。
黑saber
3楼-- · 2019-08-17 09:29
苻轩宇1993 发表于 2017-7-12 17:08
检查一下你的电机的驱动电压是否匹配,一般电机的驱动电压是5V的,板子上的引脚电压可能是3.3V,如果电压不 ...

测过了是5v
guset_03
4楼-- · 2019-08-17 12:08
 精彩回答 2  元偷偷看……
黑saber
5楼-- · 2019-08-17 16:23
guset_03 发表于 2017-7-12 17:59
软硬件贴上来。。。。。

keil5,J-link,芯片stm32f103vc,伺服电机
guset_03
6楼-- · 2019-08-17 17:01
大兄弟,是代码,原理图,甚至于pcb,一般人家高手是不会花在上面时间给你琢磨的,如果这样子说不定很快就结帖了

一周热门 更多>