Arduinobord-type lezen

Hardware geleverd door Arduino
Berichten: 287
Geregistreerd: 15 Apr 2021, 20:05

Re: Arduinobord-type lezen

Berichtdoor ctunes » 12 Jun 2021, 20:30

Jij begeeft je in een omgeving waarin je onbekend bent, maar denkt te weten wat het betekent.
Wat betekent dat extra tabblad volgens jou?

Frans53! schreef:
Tabblad is mogelijk op de originele offline IDE van Arduino.
programma in een tabblad, of meer dan 1, worden op één hoop gegooid bij het copieren.



Sorry dat ik het zeg: maar leer eerst het verschil tussen compileren, linken en assembleren.

De opmerking: "tabblad in de arduino ide", geeft al veel van je onvermogen/gebrek aan kennis, weer.

Dit is geen kritiek, enkel constatering.

Je kunt immers iemand enkel tot een hoogtepunt leiden door de juiste plekken te weten.

;)

Advertisement

Berichten: 65
Geregistreerd: 09 Jun 2020, 22:11
Woonplaats: Roosendaal

Re: Arduinobord-type lezen

Berichtdoor Frans53! » 12 Jun 2021, 21:02

Bedankt voor je reactie.

je schreef:
Jij begeeft je in een omgeving waarin je onbekend bent, maar denkt te weten wat het betekent.
Wat betekent dat extra tabblad volgens jou?

Het gebruik van tabbladen is voor mij een aparte deellokatie van het totale programma. Hierin kan ik dingen plaatsen die bij elkaar horen, maar ook in elk programma (station) hetzelfde zijn. Na wijziging in één tabblad, kan ik het tabblad copieeren naar andere stations.

Ik vind het een makkelijk alternatief van bibliotheken.

Ik kan vanuit deze reactie helaas niet bekijken wat je meer hebt geschreven. Maar de andere dingen zal ik ter harte nemen, en, waar nodig, zal ik me erin verdiepen.

Hartelijke groet,
Frans.

Berichten: 287
Geregistreerd: 15 Apr 2021, 20:05

Re: Arduinobord-type lezen

Berichtdoor ctunes » 12 Jun 2021, 21:33

Jij bent verder dan ik, of verwacht dat de IDE meer kan dan jij denkt.

Berichten: 287
Geregistreerd: 15 Apr 2021, 20:05

Re: Arduinobord-type lezen

Berichtdoor ctunes » 16 Jun 2021, 21:34

https://web-engineering.info/node/28

duckduckgo to the rescue!

Berichten: 287
Geregistreerd: 15 Apr 2021, 20:05

Re: Arduinobord-type lezen

Berichtdoor ctunes » 16 Jun 2021, 21:43

Wat je beoogt kan echter niet ... of misschien ten dele ... half.

Tijdens het compileren wordt je code aangepast naar het type processor dat je gebruikt.

Dat is dan de code voor die processor.

Jij lijkt meer in java-begrippen te denken, en meent te kunnen achterhalen: "Waar draai ik nu weer op?"

Maar zo werkt het niet.

Of je moet je eigen java-achtige interpreter schrijven natuurlijk, dan kan wat jij wil weer wel.

Berichten: 65
Geregistreerd: 09 Jun 2020, 22:11
Woonplaats: Roosendaal

Re: Arduinobord-type lezen

Berichtdoor Frans53! » 17 Jun 2021, 00:15

Dag Itunes,

Het is niet de bedoeling dat de code automatisch wordt aangepast aan de processor.
In een test kijk ik welke processor ik heb, en aan de hand daarvan bepaal ik welk deel van de code ik gebruik. Dus alle code staat in de sketch, maar afhankelijk van de processor gebruik er een deel van.
Code: Alles selecteren
// CPU id

      #include <avr/boot.h>  // niet vergeten!
      byte CPU_id = boot_signature_byte_get(0x02);
      const byte NANO = 149;

      #if(CPU_id == NANO)
        #include <SoftwareSerial.h>
        SoftwareSerial ss(ssRX, ssTX); // behalve MEGA2560 en NANO BLE
      #else
        ....
      #endif



void setup() {

       
        if(CPU_id == NANO)
          {
            ss.begin(4800);       // andere borden
          }
        else
          {
            Serial1.begin(4800);  // MEGA2560 en NANO BLE
          }

}

void loop() {

      boolean dataBeschikbaar = false;
      if(CPU_id == NANO)
        {
          if(ss.available()>0)      // andere borden
          dataBeschikbaar = true;
        }
      else
        {
          if(Serial1.available()>0) // MEGA2560 en NANO BLE
          dataBeschikbaar = true;
        }

      if(dataBeschikbaar == true)
      {
        ........
      }
}

void ......
{
        .............
        unsigned long whileTimeOut = millis() + 1000ul;
        if(CPU_id == NANO)
          {
            while((ss.available() == 0) && (millis() < whileTimeOut)) {}    // andere borden
            woord = ss.read();                                              // andere borden
          }
        else
          {
            while(Serial1.available() == 0 && millis()<whileTimeOut) {}     // MEGA2560 en NANO BLE
            woord = Serial1.read();                                         // MEGA2560 en NANO BLE
          }
        ..................
}

void ........
  {
    ..........
        if(CPU_id == NANO)
          {
            ss.write(woord);      // andere borden
          }
        else
          {
            Serial1.write(woord); // MEGA2560 en NANO BLE
          }
    .........
  }


En zo kan ik nog even doorgaan.
Het is nog niet helemaal werkend, maar ik ben onderweg. Misschien moet ik nog wat met public en private en :: , dat is toch nog wat akakadabra voor mij, maar uiteindelijk zal het werken. De # heb ik al toegepast om dat deel werkend te krijgen. Heel veel naar bestaande biblioyheken kijken, en een cursus C en C++ ....... Ook de meldingen van de compiler analiseren, helpt af en toe ook.

Groetjes,
Frans.

Berichten: 287
Geregistreerd: 15 Apr 2021, 20:05

Re: Arduinobord-type lezen

Berichtdoor ctunes » 18 Jun 2021, 20:53

Dit gaat echt niet werken.

Frans53! schreef:#if(CPU_id == NANO)
        #include <SoftwareSerial.h>
        SoftwareSerial ss(ssRX, ssTX); // behalve MEGA2560 en NANO BLE
      #else
        ....
      #endif


Zoals jij het beoogt.

Als het platform geen NANO is, komt niks van de code in de ELF terecht op de rest.

Berichten: 287
Geregistreerd: 15 Apr 2021, 20:05

Re: Arduinobord-type lezen

Berichtdoor ctunes » 20 Jun 2021, 20:11

Laat ik het anders formuleren:

Als jij dit compileert naar code voor iets anders dan een nano ...
(Zeg: CPU_ID = mega)
Dan gooit de compiler de tussenliggende code gewoon weg.

Als jij de geproduceerde "hex-file" dan toch in een nano programmeert, zal je gegarandeerd falen.

Dat het voor jou wel lijkt te werken, is omdat de verschillende "arduino's" praktisch allemaal dezelfde pennen gebruiken voor seriële communicatie.
(Met wat uitzonderingen in snelheid en protocol.)

Berichten: 65
Geregistreerd: 09 Jun 2020, 22:11
Woonplaats: Roosendaal

Re: Arduinobord-type lezen

Berichtdoor Frans53! » 20 Jun 2021, 21:46

Daar moet ik eens rustig voor gaan zitten....... :)

Berichten: 287
Geregistreerd: 15 Apr 2021, 20:05

Re: Arduinobord-type lezen

Berichtdoor ctunes » 20 Jun 2021, 22:22


Vorige

Terug naar Arduino hardware

Wie is er online?

Gebruikers in dit forum: Geen geregistreerde gebruikers en 16 gasten