资源简介
实际项目已验证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\
相关资源
- 微机原理课程设计步进电机
- 步进电机实现X-Y轴运动的控制
- 51单片机的步进电机控制,lcd1602显示
- PLC控制步进电机 毕业设计论文
- 步进电机程序和仿真
- 51单片机控制57步进电机启停,正反转
- STM32控制步进电机,脉冲数可控,频率
- 基于AT89C52单片机的步进电机控制系统
- 基于LabVIEW的步进电机控制系统设计
- DSP控制步进电机
- 8086直流步进电机
- STM32 步进电机程序 包括加减速 位置模
- 基于单片机的步进电机控制 毕业设计
- 步进初级3--6路步进电机速度控制函数
- 步进电机 加减速 平滑启动 加速度
- 86步进电机驱动51程序
- 很好的步进电机仿真
- 步进电机线速度控制官方源码+Datash
- 西门子PLC步进电机源程序
- 用298驱动两相步进电机的51单片机的驱
- STM32F407ZGT6用TB6600驱动器驱动4257步进电
- S5PV210 友善之臂开发板 步进电机程序
- 基于Verilog的FPGA步进电机控制
- 51单片机控制步进电机电路图
- 步进电机转动一定角度
- pic 18f4550 步进电机
- protues+8086+8255+步进电机仿真
- 步进电机S升降速曲线编程思路
- 步进电机的S7-200控制
- 步进电机控制程序设计流程图
评论
共有 条评论