我正在使用来自 Arduino 网站的 Serial.cpp 代码。
我现在正在做的是使用 R220HPRS 继电器开关。问题是示例代码在 VB 中,而我使用的是 c++。所以,我通读了手册,发现通过发送 ASCII 254 和 ASCII 1 将打开继电器 1 开关
VB 示例
MSComm1.Output = Chr$(254) 'Enter Command Mode
MSComm1.Output = Chr$(1) 'Turn On Relay 1
然后我从 Arduino 的网站上找到了 Serial.cpp 并决定尝试使用它。当我这样做时,我与设备建立了连接(或者当我运行程序时它说它),但我不知道如何发送 ASCII 254 和 ASCII 1
这是来自 Serial.cpp 的代码
bool Serial::WriteData(char *buffer, unsigned int nbChar)
{
DWORD bytesSend;
//Try to write the buffer on the Serial port
if(!WriteFile(this->hSerial, (void *)buffer, nbChar, &bytesSend, 0))
{
//In case it don't work get comm error and return false
ClearCommError(this->hSerial, &this->errors, &this->status);
return false;
}
else
return true;
}
主要的
int _tmain(int argc, _TCHAR* argv[])
{
printf("Welcome to the serial test app!\n\n");
Serial* SP = new Serial("\\\\.\\COM3"); // adjust as needed
if (SP->IsConnected())
printf("We're connected");
while(SP->IsConnected())
{
char *chr0 = "254";
SP->WriteData(chr0, 1);
SP->WriteData(chr0, 1);
Sleep(500);
}
return 0;
}
我知道 chr0 = "254" 不是 ASCII,但我不知道如何发送 ASCII 254 和 ASCII 1。