#include <stdio.h>\n#include <wiringPi.h>\n\n// 定义引脚号\n#define ENA 0\n#define IN1 1\n#define IN2 2\n#define ENB 3\n#define IN3 4\n#define IN4 5\n\n// 初始化引脚\nvoid setupPins() {\n wiringPiSetup();\n pinMode(ENA, OUTPUT);\n pinMode(IN1, OUTPUT);\n pinMode(IN2, OUTPUT);\n pinMode(ENB, OUTPUT);\n pinMode(IN3, OUTPUT);\n pinMode(IN4, OUTPUT);\n}\n\n// 设置电机速度\nvoid setSpeed(int channel, int speed) {\n if (channel == 1) {\n digitalWrite(ENA, HIGH);\n if (speed >= 0) {\n digitalWrite(IN1, HIGH);\n digitalWrite(IN2, LOW);\n } else {\n digitalWrite(IN1, LOW);\n digitalWrite(IN2, HIGH);\n speed = -speed;\n }\n softPwmWrite(ENA, speed);\n } else if (channel == 2) {\n digitalWrite(ENB, HIGH);\n if (speed >= 0) {\n digitalWrite(IN3, HIGH);\n digitalWrite(IN4, LOW);\n } else {\n digitalWrite(IN3, LOW);\n digitalWrite(IN4, HIGH);\n speed = -speed;\n }\n softPwmWrite(ENB, speed);\n }\n}\n\nint main() {\n setupPins();\n\n // 设置速度为 50%(范围为 -100 到 100)\n setSpeed(1, 50);\n setSpeed(2, -50);\n\n delay(5000);\n\n // 停止电机\n setSpeed(1, 0);\n setSpeed(2, 0);\n\n return 0;\n}

MPQ6526 六通道半桥电机驱动 C 语言程序 - 树莓派 GPIO 控制

原文地址: https://www.cveoy.top/t/topic/p1bW 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录