-
        

Seite 1 von 3 123 LetzteLetzte
Ergebnis 1 bis 10 von 21

Thema: Allgemeiner C-Programmier-Thread (Atmega8)

  1. #1

    Allgemeiner C-Programmier-Thread (Atmega8)

    Anzeige

    Hi, um es kurz zu sagen, ich habe Probleme bei der Programierung von C, deswegen habe ich mal so einen Thread gestartet, hoffentlich könnt ihr mir helfen. Ist doch sicherlich besser als immer wieder einen neuen aufzumachen. Also fange ich gleichmal an:

    1.) Was ist ein Interrupt und wozu ist ein Flag da?

    Das war es erstmal, Lg, Frank

  2. #2
    Erfahrener Benutzer Fleißiges Mitglied
    Registriert seit
    30.10.2005
    Beiträge
    139
    interrupt = unterbrechen

    also bei einem definierten ereignis (zb durch einen timer ausgelöst) unterbricht der controller seinen programmablauf an der stelle wo er grad ist, macht das was er bei einem interrupt tun soll, um dann wieder zurück an die stelle zu springen an der er unterbrochen wurde.beispiel: ein controller kann zum beispiel in seinem normalen programmablauf unterbrochen werden, wenn er über die UART schnittstelle ein zeichen empfangen soll. dann rbaucht man nich ständig abfragen ob denn nun ein zeichen empfangen werden kann.

    einen flag kann man nutzen um zu kennzeichnen, dass ein bestimmtes ereignis eingetreten ist und dieses dann später nutzen. beispiel: in einen texteditor wird in dem fall dass der benutzer eine änderung am text vornimmt ein flag gesetzt, dass der text geändert wurde. wenn der benutzer den editor schließt wird überprüft ob der flag gesetzt wurde und wenn ja wird gefragt ob der benutzer die änderungen speichern will.

    ps: wem der text zu unformatiert is hat sozusagen pech. diese infos könnte man sich auch aus dem netz ziehn, stellen also eine freiwillige leistung dar. beschwerden daher bitte an meinen sekretär dev/null richten

  3. #3
    Erfahrener Benutzer Roboter Genie
    Registriert seit
    08.07.2004
    Ort
    Südhessen
    Beiträge
    1.312
    @Frank:
    Das steht alles im Wiki beschrieben. Wozu sollen wir das Rad immer wieder neu erklären?

  4. #4
    Erfahrener Benutzer Robotik Visionär Avatar von oberallgeier
    Registriert seit
    01.09.2007
    Ort
    Oberallgäu
    Beiträge
    7.551

    Re: Fragen zu C, mein persönlicher Thread

    Zitat Zitat von frank669
    Hi, sry falls der Titel ein bisschen abwertend klingt ...
    Abwertend? Der erste Teil ist ziemlich nichtssagend allgemein und der zweite Teil ist total nichtssagend. Vielleicht überlegst Du Dir das nächste Mal, ob DU auf so einen Titel antworten würdest.

    Ich muss thewulf00 schon zustimmen. Hier mal das, was Du durch Suchen selbst rausfinden hättest können. Lesen musst Du es selbst.
    http://www.roboternetz.de/wissen/index.php/C-Tutorial
    http://www.mikrocontroller.net/artic...R-GCC-Tutorial
    http://www.schellong.de/c.htm
    http://www.galileocomputing.de/openbook/c_von_a_bis_z/
    http://de.wikipedia.org/wiki/Flag_(Informatik)
    Wenn Du das durch hast, hast Du vermutlich keine Probleme mehr beim Programmieren in C.

    Noch etwas. C gehört zu den Sprachen mit so ziemlich der höchsten Informationsdichte in den Ausdrücken - da ist es angesagt, sich sehr präzise auszudrücken und ohne (Syntax- und) Rechtschreibfehler zu schreiben - mindestens im Codeteil. Daher die etwas polemische Bemerkung zu
    Zitat Zitat von frank669
    ... Probleme bei der Programierung von C ...
    C wurde schon Anfang der 70er des letzten Jahrhunderts programmiert. Du kannst natürlich die Programmierung von C vorantreiben. Aber vermutlich willst Du (blos) in C programmieren.
    Ciao sagt der JoeamBerg

  5. #5
    Hi, habe den Thread mal ein bisschen umgeändert!

    @Felix. Danke für die Beispiele hast mich ziemlich weiter gebracht.

    @oberallgeier: Coole Links, mache kannte ich noch gar nicht.

    Zuletzt noch, darf ich trotzdem weiter fragen hier herein schreiben wenn ich etwas nicht verstanden hab?

    Lg, Frank

  6. #6
    Erfahrener Benutzer Roboter Experte
    Registriert seit
    24.02.2006
    Ort
    3. Planet eines kleinen Sonnensystems in einem Seitenarm der Milchstraße
    Alter
    63
    Beiträge
    622
    @ Frank:
    Zitat Zitat von frank669
    ... darf ich trotzdem weiter fragen hier herein schreiben wenn ich etwas nicht verstanden hab?
    natürlich darfst Du fragen, aber Deine Fragen sollten wesentlich spezifischer sein als die in Deinem ersten Posting; denn sonst kannst Du kaum Resonanz erwarten. Nicht zu wissen, was Interrupts sind, hat wenig mit C-Programmierung zu tun, da es um Grundlagenwissen geht, das für andere Programmiersprachen (bei Mikrocontrollern) ebenso relevant ist.

    @ Joe:
    C gehört zu den Sprachen mit so ziemlich der höchsten Informationsdichte in den Ausdrücken
    Klar, wird aber von APL, das ich in den 80ern mal kurz benutzt und inzwischen komplett vergessen habe, um Größenordnungen übertroffen; siehe z.B.: http://catpad.net/michael/apl/

    Viele Grüße

    Fred
    Only entropy comes easy. - Anton Checkhov

  7. #7
    Erfahrener Benutzer Robotik Visionär Avatar von oberallgeier
    Registriert seit
    01.09.2007
    Ort
    Oberallgäu
    Beiträge
    7.551
    Zitat Zitat von fhs
    C ... wird aber von APL, das ich ... kurz benutzt habe ...
    Hmmmm - wegen der Kürze des Codes kann man APL wohl auch de facto garnicht lange benutzen *gggg* (Sieht aber prächtig nach mathematischen Operatoren aus). Im Ernst: ich hatte davon gehört, aber hatte es noch nie gelesen. Da lobe ich mir doch noch eher LISP, von dem ich ein paar Jahre später ein paar wenige hundert Seiten Code für (m)eine AutoCAD-Anwendung geschrieben hatte.

    @frank669
    Zitat Zitat von frank669
    ... habe den Thread mal ein bisschen umgeändert ...
    Umbenannt ! - - - ? ? in der Hoffnung, dass ALLE Ratsuchenden hier drüber fallen ? Irgendwie raff ich das einfach nicht.
    Ciao sagt der JoeamBerg

  8. #8
    Erfahrener Benutzer Fleißiges Mitglied
    Registriert seit
    30.10.2005
    Beiträge
    139
    na die idee is ja garnich soo schlecht. wenn jemand ne frage hat stellt er sie hier rein. dann hat man alles schön zentral und nen anfänger kann diesen thread lesen und dadurch evtl fragen vermeiden.
    an eric steven raymonds regeln hält sich hier eh keiner und wird auch niemals jemand tun. das is eher was für profiforen

  9. #9
    Moin, ich bin es mal wieder,

    @Felix, so habe ich es eigentlich auch gedacht, das jeder "Anfänger" hier fragen kann. (Was sind Eric raymonds regeln?)

    Mich würde jetzt mal interessieren warum man #define verwendet wenn man auch const variablen verwenden kann?!

    Lg, Frank

  10. #10
    Erfahrener Benutzer Roboter Experte
    Registriert seit
    20.05.2006
    Ort
    Lippe
    Alter
    48
    Beiträge
    524
    Hallo,

    wenn du mit #define etwas definierst, ist das keine Variable. Es ist eine Anweisung für den Präprozessor. Dieser sucht den Code vor dem (darum Prä) übersetzen nach dem Begriff ab und setzt für den Begriff den definierten Wert ein.
    z.B.
    #define ZWEI 2

    i = x + ZWEI;

    hieraus wird
    i = x + 2;

    Danach wird der Code übersetzt.

    Konstanten sind Variable mit allen ihren Eigenschaften. Der Wert der Variable wird an eine Speicherstelle geschrieben. Wird die Variable im Programm verwendet, muss ihr Wert i.d.R. aus dem Speicher geladen werden. Auf diesen Speicher gibt es auch einen Zeiger , den man im Programm benutzen kann.


    Gruß

    Jens

Seite 1 von 3 123 LetzteLetzte

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •