WICHTIG: Der Betrieb von goMatlab.de wird privat finanziert fortgesetzt. - Mehr Infos...

Mein MATLAB Forum - goMatlab.de

Mein MATLAB Forum

 
Gast > Registrieren       Autologin?   

Partner:




Forum
      Option
[Erweitert]
  • Diese Seite per Mail weiterempfehlen
     


Gehe zu:  
Neues Thema eröffnen Neue Antwort erstellen

Problem beim erhalt von Daten von geflashten Arduino Chip

 

Daholli
Forum-Newbie

Forum-Newbie


Beiträge: 1
Anmeldedatum: 16.03.22
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 16.03.2022, 13:43     Titel: Problem beim erhalt von Daten von geflashten Arduino Chip
  Antworten mit Zitat      
Heyho,

ich arbeite mit einem Bluetooth Gerät das Bluetooth classic benötig und muss deswegen den Wifi Chip des Arduino MKR WIFI 1010 flashen, das funktioniert alles super bis Simulink ins Spiel kommt, dort will ich Daten in 8er packs abrufen, das will leider noch nicht so ganz. Ich benötige auch ein Start signal, von simulink und will, dass der Chip mir sonst eine Nachricht sendet, das dieses noch nicht angekommen ist.

Code:

void setup()
{
    Serial.begin(115200);
    // SerialBT.setPin(pin);

    while (!Serial)
        ;

    // wait for startup signal
    while (true)
    {
        if (Serial.available())
        {
            uint8_t message = Serial.read();
            if (message == STARTUP_SIGNAL)
                break;
        }
        else
        {
            message_values[0] = ERR_NO_STARTSIG;
            Serial.write(message_values, 8); // no startup signal received
            delay(500);
        }
    }
 


ist der relevante Teil des Startup des Bluetooth chips. Das simulink model, dass nur SerialPort1 (den bluetooth chip) abhört überspringt diesen schritt entweder oder gibt keine werte zurück ( 0 ). Ich habe gefühlt sämtliche konfigurationene durchprobiert und bin etwas am Ende meiner Weißheit

Code:

bool startup = true;
String command;
uint8_t message_values[8];

#define STARTUP_SIGNAL 234
#define STARTUP_END 255

void setup()
{
    pinMode(NINA_RESETN, OUTPUT);
    digitalWrite(NINA_GPIO0, HIGH);
    digitalWrite(NINA_RESETN, HIGH);
    digitalWrite(NINA_RESETN, LOW);
    delay(100);
    digitalWrite(NINA_RESETN, HIGH);
    delay(100);
    digitalWrite(NINA_RESETN, LOW);

    Serial.begin(115200);
    SerialNina.begin(115200);

    while (!Serial)
        ;
}

void loop()
{
    if (Serial.available())
    {
        command = Serial.readStringUntil('\n');
        command.trim();
        if (command.equals("pause"))
        {
            SerialNina.write('3');
        }
        else if (command.equals("disconnect"))
        {
            SerialNina.write('6');
        }
        else if (command.equals("resetgain"))
        {
            SerialNina.write('4');
        }
        else if (command.equals("calibrate"))
        {
            SerialNina.write('5');
        }
        else if (command.equals("resume"))
        {
            SerialNina.write('2');
        }

        else if (command.equals("start"))
        {
            SerialNina.write(STARTUP_SIGNAL);
        }
    }

    if (SerialNina.available())
    {
        if (startup)
        {
            SerialNina.readBytes(message_values, 8);

            if (message_values[0] == STARTUP_END)
            {
                startup = false;
                // flushing buffer
                while (SerialNina.available() > 0)
                {
                    char _ = SerialNina.read();
                }
            }
            else
            {
                Serial.println(message_values[0]);
            }
        }
        else
        {
            SerialNina.readBytes(message_values, 8);
            for (int i = 0; i < 8; i++)
            {
                Serial.print(message_values[i] * 3.3 / 255.0);
                Serial.print('\t');
            }
            Serial.print("\r\n");
        }
    }
}
 


Dieser Arduino code ist das was das simulink model irgendwann vielleicht auch können sollte aber gerade soll es erstmal nur Daten ausgeben
Private Nachricht senden Benutzer-Profile anzeigen


Neues Thema eröffnen Neue Antwort erstellen



Einstellungen und Berechtigungen
Beiträge der letzten Zeit anzeigen:

Du kannst Beiträge in dieses Forum schreiben.
Du kannst auf Beiträge in diesem Forum antworten.
Du kannst deine Beiträge in diesem Forum nicht bearbeiten.
Du kannst deine Beiträge in diesem Forum nicht löschen.
Du kannst an Umfragen in diesem Forum nicht mitmachen.
Du kannst Dateien in diesem Forum posten
Du kannst Dateien in diesem Forum herunterladen
.





 Impressum  | Nutzungsbedingungen  | Datenschutz | FAQ | goMatlab RSS Button RSS

Hosted by:


Copyright © 2007 - 2024 goMatlab.de | Dies ist keine offizielle Website der Firma The Mathworks

MATLAB, Simulink, Stateflow, Handle Graphics, Real-Time Workshop, SimBiology, SimHydraulics, SimEvents, and xPC TargetBox are registered trademarks and The MathWorks, the L-shaped membrane logo, and Embedded MATLAB are trademarks of The MathWorks, Inc.