非阻塞同时控制电机A伸长和电机B缩短-C语言
这是一个简单的非阻塞同时控制电机A伸长和电机B缩短的C语言代码:
#include <stdio.h>
#include <wiringPi.h>
#define MOTOR_A_PIN1 2
#define MOTOR_A_PIN2 3
#define MOTOR_B_PIN1 4
#define MOTOR_B_PIN2 5
void setup()
{
wiringPiSetup();
pinMode(MOTOR_A_PIN1, OUTPUT);
pinMode(MOTOR_A_PIN2, OUTPUT);
pinMode(MOTOR_B_PIN1, OUTPUT);
pinMode(MOTOR_B_PIN2, OUTPUT);
}
void loop()
{
digitalWrite(MOTOR_A_PIN1, HIGH);
digitalWrite(MOTOR_A_PIN2, LOW);
digitalWrite(MOTOR_B_PIN1, LOW);
digitalWrite(MOTOR_B_PIN2, HIGH);
delay(1000);
digitalWrite(MOTOR_A_PIN1, LOW);
digitalWrite(MOTOR_A_PIN2, LOW);
digitalWrite(MOTOR_B_PIN1, LOW);
digitalWrite(MOTOR_B_PIN2, LOW);
delay(1000);
}
int main()
{
setup();
while (1)
{
loop();
}
return 0;
}
在这个例子中,我们使用了wiringPi库来控制GPIO引脚。我们定义了4个引脚,分别用于控制电机A的两个线圈和电机B的两个线圈。
在setup()函数中,我们初始化了GPIO引脚的模式,将它们设置为输出。
在loop()函数中,我们先让电机A伸长,电机B缩短,持续1秒钟,然后让两个电机都停止,持续1秒钟。这样,我们就实现了非阻塞同时控制电机A伸长和电机B缩短的功能。
最后,在main()函数中,我们调用了setup()函数来初始化GPIO引脚,并在一个无限循环中调用loop()函数来控制电机。
原文地址: https://www.cveoy.top/t/topic/gWx 著作权归作者所有。请勿转载和采集!