我想将我的串行通信配置为没有奇偶校验、1 个开始位和 2 个停止位。状态的文档Serial.begin(speed, config)
:
(...) 可选的第二个参数配置数据、奇偶校验和停止位。默认为 8 个数据位,无奇偶校验,1 个停止位。
该文档还列出了可能的配置值。根据我的(有限)理解,我需要 SERIAL_7N2 或 SERIAL_8N2 来满足我的要求。(我不确定数据位与我需要的 1 起始位有何关系。)
但是,我什至无法编译,因为我不知道如何将该配置值提供给 begin 方法。(我没有太多 Arduino/C++ 经验)。
在我的代码中,我尝试了以下两种变体:
Serial.begin(9600, SERIAL_8N2);
Serial.begin(9600, "SERIAL_8N2");
我错过了什么吗?
附加信息:
Serial.begin(speed, config)
已与最新的Arduino 1.0.2 IDE版本一起推出。
可以找到定义/实现 begin 方法的代码:
编辑:
根据 PeterJ 和 borges 的回复,以下变体是正确的。
Serial.begin(9600, SERIAL_8N2);
但是,它仍然无法正常工作。
我发现如果我将配置的板从我的 Arduino Leonardo 更改为Arduino Uno,则不会发生编译错误。
因此,它可能是一个只发生在一部分板子上的错误......或者它可能不受支持?!
编辑2:
现在已经解决了:)博尔赫斯的回答为我指出了正确的解决方案!