资源简介
实际项目已验证OK,使用者根据实际情况调试dSPIN_Regs_Struct_Reset这个函数参数即可,注释很清晰,如果觉得有用,麻烦点个赞,谢谢

代码片段和文件信息
#include “main.h“
u8 u_MotorCsNum = 0;
void MotorNumEnable(u8 Num)
{// 使能Num电机工作
u_MotorCsNum = Num;
}
void MotorCSEnable(Bool State)
{// 马达控制片选
if(u_MotorCsNum==MOTOR1_NUM)
{
if(State==1) MOTOR1_CS = 0;
else MOTOR1_CS = 1;
}
else if(u_MotorCsNum==MOTOR2_NUM)
{
if(State==1) MOTOR2_CS = 0;
else MOTOR2_CS = 1;
}
}
/********************************************************************
* 函数说明:4号步进电机测忙函数
* 输 入:无
* 返 回:繁忙返回1,空闲返回0无
******************************************************************/
Bool MotorWaitBusy(u8 Num)
{
if(Num==MOTOR1_NUM)
{
if(MOTOR1_BUSY==0) return 1;
else return 0;
}
else if(Num==MOTOR2_NUM)
{
if(MOTOR2_BUSY==0) return 1;
else return 0;
}
return 0;
}
Bool DoMotorGetIRState(u8 Num)
{// 获取光耦状态
if(Num==MOTOR1_NUM)
{
if(X_SENSE==0) return 0;
else return 1;
}
else if(Num==MOTOR2_NUM)
{
if(Z_SENSE==0) return 0;
else return 1;
}
return 0;
}
void ConfigMorotParam(void)
{// 配置马达芯片寄存器
u8 i;
for(i=0; i {
dSPIN_Reset_Device(i); // 复位芯片
dSPIN_Get_Status(i);
while(dSPIN_Busy_HW(i));
dSPIN_Regs_Struct_Reset(i);
dSPIN_Reset_Pos(i);
}
}
void Init_Motor(void)
{//马达引脚配置
GPIO_InitTypeDef GPIO_InitStructure;
RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA | RCC_APB2Periph_GPIOD | RCC_APB2Periph_AFIO ENABLE);//使能端口时钟
// 电机初始化 BUSY FLAG
GPIO_InitStructure.GPIO_Pin = GPIO_Pin_2 | GPIO_Pin_3 | GPIO_Pin_8 | GPIO_Pin_9;
GPIO_InitStructure.GPIO_Mode = GPIO_Mode_IPU;
GPIO_Init(GPIOD &GPIO_InitStructure);
// 电机初始化 CS
GPIO_InitStructure.GPIO_Pin = GPIO_Pin_4 | GPIO_Pin_3;
GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP;
GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;
GPIO_Init(GPIOA &GPIO_InitStructure);
MOTOR1_CS = 1;
MOTOR2_CS = 1;
}
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 2218 2018-01-19 09:12 L6470PD\bsp_motor.c
文件 620 2018-01-09 20:34 L6470PD\bsp_motor.h
目录 0 2018-12-25 16:05 L6470PD\dspin\
文件 21494 2018-02-05 10:54 L6470PD\dspin\dspin.c
文件 13622 2018-01-19 09:10 L6470PD\dspin\dspin.h
目录 0 2018-12-25 16:06 L6470PD\
相关资源
- 基于STM32RCT6的步进电机驱动程序
- 步进电机课程设计(个人设计)
- FPGA在步进电机驱动上的应用实例及代
- 步进电机protues仿真
- 单片机控制的步进电机正反转和加速
- 6相12拍步进电机控制器
- LabVIEW步进电机控制.vi
- 单片机控制步进电机PMW的驱动与放大
- 单片机驱动4相步进电机proteus仿真
- 双路有刷直流马达驱动电路MX1919L芯片
- 循迹小车51程序(超声波 颜色识别 舵
- Proteus仿真的单片机控制步进电机及液
- 步进电机控制文件 s型、梯形加减速算
- x-y数控工作台
- 非常详细步进电机控制原理图,和完
- stm32步进电机基本旋转控制
- 51单片机控制步进电机软硬件实现
- 鸣志 步进电机选型手册
- STM32F407. 基于PID速度环的步进电机速度
- STM32F407 基于232或485的57&42;步进电机旋
- stm32f4控制步进电机程序
- 倒立摆调试,使用步进电机,完全成
- STM32F1指南者步进电机驱动
- 用stm32精确控制步进电机角度的程序
- 五相步进电机.ppt
- STM32F103的4轴步进电机加减速控制工程
- 28BYJ-48步进电机(STM32F1)
- 步进电机pid控制
- 步进电机控制机械臂源码 代码
- 51单片机遥控器控制步进电机程序+论
评论
共有 条评论