EN CN
Incorrect incoming command
  • Hello everyone!

    I've been trying to get a correct response to Arduino (SparkFun Pro Micro 3.3V) from my BaseCam SimpleBGC 32-bit Tiny board. I'm using CMD_BOARD_INFO command. While in GUI's debug tab the responce looks correct:

    V [86,18] [1f 46 a 0 1b 0 0 0 0 0 0 0 0 0 0 0 0 0 ] 8a

    the responce that I receive to Arduino looks like this:

    3E 95 84 7D 46 21 1B 0 0 0 0 0 0 0 8A
    or
    3E 95 84 7D 46 A 1B 0 0 0 0 0 0 0 F1

    The first byte is ok, but the rest is messed up. Here's the code:

    #define serial Serial1
    #define SERIAL_SPEED 115200

    void setup() {
    delay(5000);
    Serial.begin( 9600 );

    serial.begin(SERIAL_SPEED, SERIAL_8N1 );
    SBGC_Demo_setup(&serial);

    SerialCommand cmd1;
    cmd1.init(SBGC_CMD_BOARD_INFO);
    sbgc_parser.send_cmd(cmd1, 0);

    delay(10);

    byte incomingByte = 0;

    while(serial.available() > 0) {
    incomingByte = serial.read();

    Serial.print( incomingByte, HEX );
    Serial.print( " " );
    }
    }

    void loop() {
    }


    What might be the problem?
  • It's because 3.3V Arduino's serial port cannot correctly operate on a default baudrate (115200). Lowering the baudrate solves the problem (e.g. 57600).