項目需要控制多個步進電機, 我的想法是使用結構體來做多個步進電機的獨立控制, 把控制函數的函數指針放在結構體中調用.在實際測試的時候發現這種方式(結構體)調用步進電機的函數沒有反應, 不起作用(電機不轉)
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
- }
復制代碼 求教大佬出現了什么錯誤? 應該如何解決?
非常感謝您的回復!
|