📄 main.c
字号:
//============================================================
// 步进电机驱动程序应用示例
// 1. 步进电机驱动程序一般用法
// StepMotor_Init -> _SetMode -> _SetSpeed -> _Forward/_Backward
// 2. 示例程序实现功能
// 工作在"半步"模式下,先以50P.P.S速度正转270拍,再以100P.P.S
// 速度反转590拍
// 3. 步进电机驱动函数用法参见"SPGT62C19B电机控制模组使用说明书.pdf"
// 4. 硬件连接:
// 模组J3 - 61板J6
// 步进电机插在模组的J10接口上
// 跳线跳至"STEP MOTOR"端
//============================================================
//============================================================
#include "StepMotor.h" // 包含步进电机驱动头文件
#define CLR_WDT() *(unsigned *)0x7012=1 // 清看门狗
main()
{
StepMotor_Init(); // 初始化驱动程序
StepMotor_SetMode(STEP_HALF); // 设置为半步工作方式
StepMotor_SetSpeed(50); // 速度设定为50P.P.S
StepMotor_Forward(270); // 正转270拍
while(StepMotor_Status()!=0) // 等待正转270拍结束
{
CLR_WDT();
}
StepMotor_SetSpeed(100); // 速度设定为100P.P.S
StepMotor_Backward(590); // 反转590拍
while(StepMotor_Status()!=0) // 等待反转590拍结束
{
CLR_WDT();
}
while(1)CLR_WDT(); // 程序完成,进入死循环
}
#define P_INT_Ctrl (unsigned int*)0x7010 // 硬件端口定义
#define P_INT_Clear (unsigned int*)0x7011 // 硬件端口定义
#define C_IRQ4_4KHz 0x0040 // 常数助记符定义
void IRQ4(void)__attribute__((ISR)); // 将IRQ4函数声明为中断服务函数
void IRQ4(void) // IRQ4函数体
{
if((*P_INT_Ctrl&C_IRQ4_4KHz)!=0x0000) // 如果是4KHz中断
{
*P_INT_Clear = C_IRQ4_4KHz; // 清中断标志位
StepMotor_Drive(); // 调用步进电机驱动函数
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -