项目需要控制多个步进电机, 我的想法是使用结构体来做多个步进电机的独立控制, 把控制函数的函数指针放在结构体中调用.在实际测试的时候发现这种方式(结构体)调用步进电机的函数没有反应, 不起作用(电机不转)
C语言代码大概如下- //为阅读方便, 将所有函数参数使用arg代替
- //*****************************main.c
- //尝试在main.c中控制步进电机
- #include "Stepper.h"
- void main(){
- Stepper stp;
- while(1){
- //如果使用 "MotorClockwise(arg); "则电机正常工作
- stp.MotorAntiClockwise(arg); //电机不工作
- }
- }
- //***************************Stepper.h
- //定义了结构体
- extern void MotorAntiClockwise(arg);
- extern void MotorClockwise(arg);
- extern void MotorSetAngle(arg);
- typedef struct
- {
- void (*MotorAntiClockwise)(arg);
- void (*MotorClockwise)(arg);
- void (*MotorSetAngle)(arg);
- }Stepper;
- //***************************Stepper.c
- void MotorAntiClockwise(arg){
- //code
- }
- void MotorClockwise(arg){
- //code
- }
- void MotorSetAngle(arg){
- //code
- }
复制代码 求教大佬出现了什么错误? 应该如何解决?
非常感谢您的回复!
|