代码拉取完成,页面将自动刷新
namespace Ports
{
class Port
{
protected:
int port;
Port(int port)
{
this->port = port;
}
public:
void setPort(int port)
{
this->port = port;
}
};
class ADPort : public Port
{
protected:
bool reversed;
ADPort(int port, bool reversed) : Port(port) { this->reversed = reversed; }
public:
void setReverse(bool reversed)
{
this->reversed = reversed;
}
};
class DIPort : public ADPort
{
public:
DIPort(int port, bool reversed = false) : ADPort(port, reversed) { pinMode(port, INPUT); }
bool get(void)
{
return digitalRead(port) ^ reversed;
}
void setPort(int port)
{
this->port = port;
pinMode(port, INPUT);
}
};
class DOPort : public ADPort
{
public:
DOPort(int port, bool reversed = false) : ADPort(port, reversed) { pinMode(port, OUTPUT); }
void set(bool HoL)
{
digitalWrite(port, HoL ^ reversed);
}
void setPort(int port)
{
this->port = port;
pinMode(port, OUTPUT);
}
};
class AIPort : public ADPort
{
public:
AIPort(int port, bool reversed = false) : ADPort(port, reversed) { pinMode(port, INPUT); }
int get(void)
{
int temp;
temp = analogRead(port);
return reversed ? 255 - temp : temp;
}
void setPort(int port)
{
this->port = port;
pinMode(port, INPUT);
}
};
class AOPort : public ADPort
{
public:
AOPort(int port, bool reversed = false) : ADPort(port, reversed) { pinMode(port, OUTPUT); }
void set(int Lvl)
{
analogWrite(port, reversed ? 255 - Lvl : Lvl);
}
void setPort(int port)
{
this->port = port;
pinMode(port, OUTPUT);
}
};
}
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。