我试图让以下示例代码正常工作。我已经通过几个教程和Q& A读过了,但是我无法让它发挥作用。在所有可能的情况下,我对课程的理解都缺乏,但我通过实践来学习。希望我不冒犯任何人: - )
我正在进行串口通信,我正在尝试使用此库的回调版本: http://www.webalice.it/fede.tft/serial_port/serial_port.html
具体问题在评论代码中。
更新 - 我明白了,下面的代码正在运行: - )
这是SerialPort.h文件:
#include "AsyncSerial.h"
class SerialPort
public:
void portOpen();
void portWrite();
private:
CallbackAsyncSerial serial;
};
和SerialPort.cpp:
#include "SerialPort.h"
void SerialPort::portOpen() {
// serial = CallbackAsyncSerial("COM1", 115200); Doesn't work
serial.open("COM1", 115200); //This works :-)
}
void SerialPort::portWrite() {
serial.writeString("Hello\n");
}
void main() {
SerialPort objt;
objt.portOpen();
objt.portWrite();
}
感谢您的帮助!
答案 0 :(得分:2)
“
//How do I make the object "serial" accessible in the other members?
”
让它成为一个成员变量
class SerialPort
public:
void portSet();
void portOpen();
void portWrite();
private:
CallbackAsyncSerial serial;
};
void SerialPort::portOpen() {
serial = CallbackAsyncSerial("COM1", 115200);
}
答案 1 :(得分:1)
为了让其他成员可以访问它,它应该是一个成员变量。这意味着在类SerialPort定义中声明它。