- MultiPlus Wechselrichter Insel und Nulleinspeisung Conrad         
Seite 1 von 6 123 ... LetzteLetzte
Ergebnis 1 bis 10 von 60

Thema: C-Programm mit einfachen Funktionen für AT90S2313

  1. #1
    Benutzer Stammmitglied
    Registriert seit
    07.07.2005
    Beiträge
    32

    C-Programm mit einfachen Funktionen für AT90S2313

    Anzeige

    LiFePo4 Akku selber bauen - Video
    Hallo Experten...

    Bin ein absoluter Anfänger, habe mir auch schon einige Tutorials angeschaut. Leider liegt mir das Programmieren nicht sehr. Und auf die schnelle sich voll einarbeiten geht leider auch nicht. Ich schreibe derzeit meine Studienarbeit, und ein Teil, was im nachhinein dazu gekommen ist , ist die Programmierung eines Mikrocontrollers.

    Ich möchte das ganze auch gerne lernen, doch geht es nicht, mit dem Zeitdruck, den mein Betreuer mir vorgegeben hat.
    Denn er meinte, für einen, der das kann ist das eine Arbeit von nicht mal einem Tag...und ließ mich dann hängen

    Gibt es Experten unter euch, die mich unterstützen können?

    3 LED's habe ich schon zum leuchten gebracht, kann somit die Ports ansprechen. Aber wie ich nun die Ideen Umsetzen soll, weiß ich einfach nicht...

    Bin in Not... Hilfe bitte

    MC ist AT90S2313

  2. #2
    Wenn Fragen aufkommen einfach hier rein posten!!!

  3. #3
    Benutzer Stammmitglied
    Registriert seit
    07.07.2005
    Beiträge
    32
    Nur vor weg...

    Bitte entschuldigt, wenn ich dumme Fragen stelle.

    MC: AT90S2313
    an PB3, PB4 und PB7 sind LED's angeschlossen.

    Ein- und Ausschalten kann ich diese, wie folgt:

    int main( void )
    {
    DDRB=0b11111011; //PortB (außer PB2) als Ausgang definieren
    PORTB=0b11111111; //Port's auf High setzen, bzw. PB2 PullUp aktivieren

    for(;
    {
    PORTB=0b01111111; //LED an PB7 einschalten
    }
    }


    Bis hierhin ist alles ok.
    Nun habe ich an PB2 einen Schalter gegen Masse.

    Was ich möchte:
    -> Schauen ob PB2 gegen Masse geschaltet ist
    -> Wenn ja, LED an PB3 leuchten lassen
    -> Wenn nicht, LED an PB7 leuchten lassen
    -> Sobald umgeschaltet wird, möchte ich, dass die jeweils andere LED leuchtet (Also wenn LED an PB3 leuchtet, und ich schalte um, soll LED an PB7 leuchten)

    Das ist es mal für den Anfang...(hatte ich recht mit "dummen Fragen"?

  4. #4
    Benutzer Stammmitglied
    Registriert seit
    02.06.2005
    Beiträge
    44
    Hast du schon mal ins AVR-GCC Tutorial geschaut?
    Da werden zumindest mal die grundlegensten Sachen in Bezug auf AVR und C Programmierung geklärt.
    gibts auf mikrocontroller dot net und ich glaub auch hier im Downloadbereich in einer erweiterten Version.
    Vielleicht hilft das ja?!

  5. #5
    Benutzer Stammmitglied
    Registriert seit
    07.07.2005
    Beiträge
    32
    Hallo nochmals...

    Ich habe Fortschritte gemacht.\/
    Das Ein- und Ausschalten von den einzelnen Ports habe ich nun drauf. Eine kleine Umlötaktion, und der Schalter hängt nun an Port PD3 (INT1) Eingang. Das ganze wird nun per Interrup-Routine abgearbeitet.

    Doch jetzt kommt der nächste Schritt.
    Die Ausgänge sollen über UART angesteuert werden.
    Und damit habe ich mein nächstes Problem: UART.

    Gibt es irgendwo Beispielprogramme (im Tutorial leider nicht ganz fündig geworden)...

    Vielleicht einige Worte zu dem, was ich machen möchte:
    Empfange ich "CH1"
    ->Interrupt auslösen
    -PB3 auf LOW
    -PB4 auf HIGH
    -PD5 auf LOW
    -Rückmeldung an PC: "CH1_OK"

    Empfange ich "CH2"
    ->Interrupt auslösen
    -PB3 auf HIGH
    -PB4 auf LOW
    -PD5 auf HIGH
    -Rückmeldung an PC: "CH2_OK"


    Kann mir jemand weiter helfen?
    Vielleicht ein Beispielprogramm?

  6. #6
    Erfahrener Benutzer Robotik Einstein
    Registriert seit
    08.05.2005
    Ort
    Issum
    Alter
    52
    Beiträge
    2.236
    Hallo,
    Folgende Überlegung:
    Ein char Array, als Puffer.
    Permanent UDR auslesen, bzw, per interrupt nach ankommenden Zeichen überprüfen,
    wenn was angekommen ist erst nach RETURN prüfen, wenn ja dann Puffer mit den Konstanten nacheinander vergleichen und entsprechende Funktion anspringen, wenn kein RETURN, Zeichen in Puffer schieben, gleichzeitig in UDR zurückschreiben (damit man im Terminal auch was sieht), Routine verlassen.
    Gruß Sebastian

  7. #7
    Erfahrener Benutzer Roboter Genie
    Registriert seit
    22.11.2003
    Beiträge
    991
    Ich hatte mal ein Beispiel für den UART geschrieben, vielleicht hilft dir das ja schonmal weiter:
    http://www.kreatives-chaos.com/index.php?seite=c_uart

    MfG Kjion

  8. #8
    Benutzer Stammmitglied
    Registriert seit
    07.07.2005
    Beiträge
    32
    Zitat Zitat von izaseba
    Hallo,
    Folgende Überlegung:
    Ein char Array, als Puffer.
    Permanent UDR auslesen, bzw, per interrupt nach ankommenden Zeichen überprüfen,
    wenn was angekommen ist erst nach RETURN prüfen, wenn ja dann Puffer mit den Konstanten nacheinander vergleichen und entsprechende Funktion anspringen, wenn kein RETURN, Zeichen in Puffer schieben, gleichzeitig in UDR zurückschreiben (damit man im Terminal auch was sieht), Routine verlassen.
    Gruß Sebastian
    Hört sich Interessant an...das Problem ist nur, bin wirklich ein Anfänger, was Programmieren allg. angeht...

  9. #9
    Benutzer Stammmitglied
    Registriert seit
    07.07.2005
    Beiträge
    32
    Zitat Zitat von Kjion
    Ich hatte mal ein Beispiel für den UART geschrieben, vielleicht hilft dir das ja schonmal weiter:
    http://www.kreatives-chaos.com/index.php?seite=c_uart

    MfG Kjion
    Da bin ich vorhin hingekommen...

    Habe es auch abgeändert (für den AT90S2313), compiliiert und übertragen, kann natürlich auch Fehler eingebaut haben...
    Die Frage ist...was macht es nun...(in meinem Fall tut sich leider nichts )
    Sollte ich etwas im Hyperterminal sehen?

  10. #10
    Erfahrener Benutzer Robotik Einstein
    Registriert seit
    08.05.2005
    Ort
    Issum
    Alter
    52
    Beiträge
    2.236
    das Problem ist nur, bin wirklich ein Anfänger, was Programmieren allg. angeht...
    Ich will Dich nicht gerade, hmmm angreifen, aber Du kannst mir nicht erzählen, daß man von Euch Sachen verlangt, die Ihr nicht durchgearbeitet habt ?

    Wie kann ich Dir sonst noch helfen? was verstehst Du nicht?

    Gruß Sebastian

    EDIT: Mit dem Beispiel von Kjion hast Du schon das halbe Programm fertig.

Seite 1 von 6 123 ... LetzteLetzte

Berechtigungen

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

LiFePO4 Speicher Test