Octave Arduino Toolkit 串行通信的默认波特率是多少以及如何配置?

问题描述 投票:0回答:2

我尝试了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 serial-port octave
2个回答
0
投票

您可以设置 Arduino uno 在代码中使用的波特率,通常是设置块。

void setup() {
     Serial.begin(9600); // opens serial port, sets data rate to 9600 bps
}

有许多支持的费率和其他选项(https://www.arduino.cc/en/Serial.Begin),但您不太可能需要比上面一行更多的内容。


0
投票

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() 后进行设置
© www.soinside.com 2019 - 2024. All rights reserved.