初始化提交

This commit is contained in:
王立帮
2024-07-20 22:09:06 +08:00
commit c247dd07a6
6876 changed files with 2743096 additions and 0 deletions

View File

@@ -0,0 +1,94 @@
#include "QDPDCMOTOR.h"
QDPDCMOTOR::QDPDCMOTOR(uint8_t port)
{
if (port == 1) {
Mport1 = 7;
Mport2 = 6;
Iport = 3;
pinMode(7, OUTPUT);
pinMode(6, OUTPUT);
pinMode(3, INPUT);
} else {
Mport1 = 4;
Mport2 = 5;
Iport = 2;
pinMode(4, OUTPUT);
pinMode(5, OUTPUT);
pinMode(2, INPUT);
}
}
void QDPDCMOTOR::run(int speed)
{
speed = speed > 255 ? 255 : speed;
speed = speed < -255 ? -255 : speed;
if (speed >= 0)
{
digitalWrite(Mport1, HIGH);
analogWrite(Mport2, abs(speed));
}
else
{
digitalWrite(Mport1, LOW);
analogWrite(Mport2, abs(speed));
}
}
void QDPDCMOTOR::stop()
{
digitalWrite(Mport1, LOW);
analogWrite(Mport2, 0);
flag1 = 0;
}
void QDPDCMOTOR::PulseINI(long pulsenum, int speed, long _lowpulse, int _lowspeed) {
setcount = pulsenum;
count = 0;
setspeed = speed;
lowpulse = _lowpulse;
lowspeed = _lowspeed;
flag = 1;
flag1 = 1;
}
void QDPDCMOTOR::PulseRun(uint8_t num) {
run(setspeed);
if(num)
DcMotorfinish();
}
void QDPDCMOTOR::DcMotorCount1() {
count++;
if (flag == 1 & setcount - count < lowpulse ) {
analogWrite(Mport2, abs(lowspeed));
flag = 0;
}
if (count >= setcount) {
//flag1 = 0;
detachInterrupt(digitalPinToInterrupt(3));
stop();
}
};
void QDPDCMOTOR::DcMotorCount2() {
count++;
if (flag == 1 & setcount - count < lowpulse ) {
analogWrite(Mport2, abs(lowspeed));
flag = 0;
}
if (count >= setcount) {
//flag1 = 0;
detachInterrupt(digitalPinToInterrupt(2));
stop();
}
};
void QDPDCMOTOR::DcMotorfinish() {
while(flag1){
delay(1);
//Serial.println(flag1);
}
}

View File

@@ -0,0 +1,27 @@
#include "arduino.h"
#ifndef QDPDCMOTOR_cpp
#define QDPDCMOTOR_cpp
class QDPDCMOTOR {
public:
QDPDCMOTOR(uint8_t port);
void run(int speed);
void stop();
void PulseINI(long pulsenum, int speed,long _lowpulse,int _lowspeed);
void DcMotorCount1();
void DcMotorCount2();
void PulseRun(uint8_t num);
void DcMotorfinish();
bool flag,flag1;
private:
uint8_t Mport1, Mport2, Iport;
int setspeed;
long count, setcount, lowpulse;
int lowspeed;
};
#endif