我尝试了Octave Arduino Toolkit并尝试了以下命令。
>> pkg load arduino
>> arduinosetup
Running "C:\Program Files (x86)\Arduino\arduino.exe" "C:\Users\XXXXXX\AppData\Local\Temp\oct-aiBvJS\octave\octave.in
o"
ans = 1
>> dev = arduino
dev =
arduino object with fields of:
port = \\.\COM4
board = uno
libraries = {
i2c
spi
servo
shiftregister
}
availablepins = {
d0 - d13
a0 - a5
}
>> val = readVoltage(dev,"A0")
val = 1.9746
所以我认为它工作正常。但是我不知道 Q1. COM4的默认波特率是多少 Q2。如何更改波特率
有人知道 Q1 和 Q2 的答案吗?
==========
我在
LiberaryBase.cpp中找到了
OCTAVE_COMMS_PORT.begin (9600)
,它似乎可以配置波特率。所以我把9600改成了其他值。
编译写入成功但arduino Octave无法正常工作
Octave 上的错误消息是
>> dev = arduino("COM4")
error: __initArduino__: failed valid response err=2 - Malformed packet header
error: called from
__initArduino__ at line 34 column 8
arduino at line 94 column 16
您可以设置 Arduino uno 在代码中使用的波特率,通常是设置块。
void setup() {
Serial.begin(9600); // opens serial port, sets data rate to 9600 bps
}
有许多支持的费率和其他选项(https://www.arduino.cc/en/Serial.Begin),但您不太可能需要比上面一行更多的内容。
Q1:工具包使用的默认波特率是9600波特率。
Q2:使用的波特率有两部分 - 在实际的 arduino 上和在计算机上运行的 m 代码中。
arduino 波特率在 +arduinoio/lib/LibraryBase.cpp 中设置。
m 文件波特率在 scanForArduinos.m 和 @arduino/initArduino.m
中设置这里没有问,但我不认为波特率是问题,但它正在尝试使用不应该的硬件流。
尝试在 scanForArduinos.m
set(s, 'dataterminalready', 'on');
和 @arduino/initArduino.m set(obj.connected, 'dataterminalready', 'on');
中调用 serial() 后进行设置