Pointer Zuweisung



  • Hallo

    Ich würde gerne eine Zuweisung machen, verstehe aber nicht warum das nicht funktioniert.

    Es geht um
    uint8_t* counter;
    counter = &digitNumbers; gleich im oberen 4 des codes unten unter den includes.
    die definitions.h wegen digitNumbers befindet sich ganz unten



  • Dir ist schon klar dass das in dieser Form vermutlich keinen interessiert, oder?



  • @buell83 sagte in Pointer Zuweisung:

    Ich würde gerne eine Zuweisung machen, verstehe aber nicht warum das nicht funktioniert.
    Es geht um
    uint8_t* counter;
    counter = &digitNumbers;

    digitNumbers ist vermutlich nicht vom Typ uint8_t.



  • Ich würde darauf tippen, dass die Zuweisung außerhalb einer Funktion geschieht.

    Vergleiche die Zuweisung mit der darunter, vielleicht fällt dir etwas auf.


  • Gesperrt

    Dieser Beitrag wurde gelöscht!


  • @buell83:
    Bevor du dich an die Programmierung von µCs machst, lerne bitte zunächst erst einmal die Grundlagen der C-Programmierung.
    Indem du mit CubeMX generierten Code benutzt und dann eigentlich keine Ahnung hast, was du da machst und was passiert, hilfst du dir selbst auch nicht weiter.
    Suche dir also bitte ein gutes C-Buch oder zumindest ein C-Tutorial, das alle Grundlagen abdeckt und schreibe danach erst einmal PC-Anwendungen, bevor du dich an die Microcontroller heranwagst.

    Danke.



  • @wade1234

    danke



  • @titan99_ sagte in Pointer Zuweisung:

    Wo ist der Meldebutton ?

    Hinter dem 3-Punkte-Menü rechts unterhalb eines Beitrags: "Diesen Beitrag zur Moderation markieren."



  • @unterfliege sagte in Pointer Zuweisung:

    @buell83:
    eigentlich keine Ahnung hast, was du da machst und was passiert

    Danke.

    Ja, ich kann ja in C schon eine Variable x definieren und einen Wert zuweisen. Variablen sollte man ausserdem immer global definieren, sodass sie überall sichtbar sind, noch bevor das Programm los geht. Besser ist es aber, wenn man keine Variablen definiert, sondern direkt die konstanten Werte im Programm übergibt, so braucht man nämlich keinen unnötigen Speicher und Leute, die sich später damit herumschlagen müssen, müssen sich dann mit dem gesamten Code beschäftigen. So kommen sie leichter in die Materie hinein und das Verständnis derer wird dadurch erleichtert. Und ich weiss auch, dass ein Mikrocontroller Prozesse der Mikrotechnologie behandelt und mit der Makrotechnik nichts zu tun hat.
    Glaube mir das steht in keinem Buch, das habe ich alles selbst gelernt, gelernt effizient zu programmieren...



  • @buell83 sagte in Pointer Zuweisung:

    Variablen sollte man ausserdem immer global definieren, sodass sie überall sichtbar sind, noch bevor das Programm los geht. Besser ist es aber, wenn man keine Variablen definiert, sondern direkt die konstanten Werte im Programm übergibt, so braucht man nämlich keinen unnötigen Speicher [...]

    Not sure if trolling or just very stupid.



  • das mit den globalen variablen gilt aber nur, wenn sich der gesamte quelltext über maximal etwa 5 bildschirme erstreckt. ansonsten solltest du sie nur dann verwenden, wenn es nicht anders geht (z.b. bei der isr, die keine parameter akzeptiert, das ist dann eben C).

    das problem an globalen variablen besteht darin, dass (bei größeren programmen) nicht sofort ersichtlich ist, an welcher stelle im programm diese geändert werden und du dich daher tot suchst. also wenn alles schön übersichtlich ist, kann du das mit den globalen variablen machen, wenn das programm dagegen vielleicht so 10 mio (oder auch nur 100k oder sogar nur 10k) codezeilen hat, solltest du das wirklich lassen und "vernünftig" programmieren.

    wobei das "sich mit dem ganzen programm beschäftigen" schon irgendwas schlaues hat - funktioniert aber bei 10 mio codezeilen (hast du beim µc nicht, beim linux-kern aber z.b. schon) nur leider nicht immer.😉



  • @wade1234

    ja darum lassen wir gleich das Thema mit den globalen Variablen und pflegen die werte als konstanten in die 10mio zeilen direkt, sodass derjenige auch automatisch weiss, wo er jetzt zB den Wert 10 auf 15 ändern muss. so muss er dann auch gleich in alle funktionen rein schauen, ob vielleicht der Wert, der sich ändern muss auch dort drin steckt. dann lernt er mal die Funktionen richtig.

    nein echt jetzt, manche hier haben so eine überhebliche Art, da kann man nicht anders Wade1234 ;P
    Aber danke, für deinen konstruktiven Input in den vorherigen Beiträgen.

    @swordfish sagte in Pointer Zuweisung:

    @buell83 sagte in Pointer Zuweisung:

    Variablen sollte man ausserdem immer global definieren, sodass sie überall sichtbar sind, noch bevor das Programm los geht. Besser ist es aber, wenn man keine Variablen definiert, sondern direkt die konstanten Werte im Programm übergibt, so braucht man nämlich keinen unnötigen Speicher [...]

    Not sure if trolling or just very stupid.

    I think the latter



  • @buell83 sagte in Pointer Zuweisung:

    ja darum lassen wir gleich das Thema mit den globalen Variablen und pflegen die werte als konstanten in die 10mio zeilen direkt, sodass derjenige auch automatisch weiss, wo er jetzt zB den Wert 10 auf 15 ändern muss. so muss er dann auch gleich in alle funktionen rein schauen, ob vielleicht der Wert, der sich ändern muss auch dort drin steckt. dann lernt er mal die Funktionen richtig.

    Zuerst ging es um Variablen, jetzt plötzlich um Konstanten. Troll dich.



  • also bei konstanten nimmt man in C eigentlich präprozessor-defines, sprich "#define CONSTANT_VAR 1". dinge wie "const int" sind eher was für C++ oder bestimmte ausnahmen wie z.b. konstante arrays. C ist eben gar nicht so einfach und verlangt dem programmierer eine menge ab.

    manchmal brauchst du eben globale variablen und manchmal bringen sie vielleicht (ähnlich wie goto) auch wirklich vorteile bzgl. geschwindigkeit, aber bevor man so etwas benutzt, sollte man erst einmal lernen, wie man in 99,5% der fälle zu verfahren hat, und danach kann man dann mit solchen "sachen für profis" weiter machen.



  • @swordfish sagte in Pointer Zuweisung:

    Konstangen. Troll dich.

    Ich red ja auch nicht davon, sondern von Konstanten, deutsche sprache schwere sprache ich weiss



  • @buell83 sagte in Pointer Zuweisung:

    @swordfish sagte in Pointer Zuweisung:

    Konstangen. Troll dich.

    Ich red ja auch nicht davon, sondern von Konstanten, deutsche sprache schwere sprache ich weiss

    Ganz schön unverschämt und überheblich für jemanden, der ganz offensichtlich zu unfähig und ignorant ist, einen simplen und grundlegenden Fehler zu erkennen. Alleine der Versuch zeigt, dass die C-Kentnisse nicht ordentlich sitzen.



  • Na gut, ich kauf' ein 't'.


Anmelden zum Antworten