Zu blöd für AVR's....

  • Zu blöd für AVR's....

    Also, ich hab ja als Elektroniker schon so ziemlich Ahnung von dem ganzen Kram...
    AVR's kann ich auch selber flashen und hab auch schön des AVR Studio und nen STK500 und so weiter.. alles kein Thema...

    ABER... ich kann nichtmal den kleinsten Fetzen C proggen auf nem AVR.

    Das AVR GCC-Tut von microkontroller.net is mir irgendwie zuu blöde... das geht mir zu theoretisch los...

    Und jetzt stehe ich vor nem Problem, wo ich das erste mal ne eigene lösung entwickeln will ->

    kenn irgendjemand ein Tutorial, das wirklich für doofe gemacht ist ??

    das mit beispielen wie drücke taster 1 - led 1 leuchtet...

    drücke taster 1 und 2 - led 1 leuchtet... so einfache dinge eben.....

    Wäre über jeden hinweis dankbar
    Grüße, Souko

    EvenTronics - even electronics
  • Source Code

    1. #include <avr/io.h>
    2. int main()
    3. {
    4. DDRB =0xFF; //Port B als Ausgang definieren
    5. PORTB = 0x00; //PortB 0 setzen
    6. DDRD=0x00; //PortD als Eingang definieren
    7. PORTD = 0xFF; //Pullup Widerstaende für PortD aktiviert
    8. while(1) //Endlosschleife
    9. {
    10. if(!(PIND&(0x04))) //Prueft den Pin 2 am Port D auf Null
    11. PORTB |=(1<<PIN0); //Setzt den Pin 0 am Port B
    12. else
    13. PORTB &=~(1<<PIN0); //Setzt den Pin 0 am Port B auf 0
    14. }
    15. }
    Display All



    Das ist ein Programm aus meiner ersten Stunde mit dem AVR es fragt eine Taste am Port D Pin 2 ab und schaltet die LED an Port B Pin 0 ein wenn der Taster gedrückt ist.
    Jede Zeile ist Kommentiert ich hoffe ich konnte dir helfen.

    mfg Fiech
  • Jaaa, sowas meinte ich..
    so kleine Codeschnippsel für Leute, die keinen bock auf trockene Theorie mit Registern, variablen und sonem kram haben..
    die einfach was leuchten sehen wollen an ihrem AVR um mal so die grunddinger zu verstehen...

    Später kann man dann ja stück für stück weitere sachen nachlesen...

    Learning by doing....

    das hat mir auf jeden fall schonma geholfen zu kapieren wie ich die ausgänge setze, eingänge setze, und die PIN's als ausgang oder eingang definiere....


    Grüße, Souko

    EvenTronics - even electronics
  • Oh super :) Ich wollte schon lange nen XLR-Kabeltester bastelt. Hab meine ganzen XLR-Kabel selber gelötet - Ab und zu is mal eins defekt (Ader ab oder Kurzschluss etc.). Mit dem einfachen Codeschnipsel oben lässt sich sehr einfach was umschreiben... Oder hat jemand sowas schonmal gemacht?
  • hab sowas für meine Netzwerkkabel gebaut
    einmal in zwei Geräten, einmal in einem Gerät

    bei drei Adern lässt sich das aber noch über nen Timer und Decadecounter realisiern(oder einfach einen Drehschalter mit 3 Stellungen^^

    Ist aber eine schöne Übung, wenn man sich mit AVRs beschäftigen will weil man ein wenig mit I/Os zu tun hat und mit nem Timer(ausser man benutzt die Delay-Funktion, aber das sollte man vermeiden)

    im Prinzip funktionierts so:

    timer, I/Os setzen

    main: tue nix
    timer-interrupt: zähle um eins hoch(globale variable, von 0 bis 2); lasse entsprechnede Led leuchten

    ich kann dir auch den Quellcode tippen, aber dann wäre der Selbstlerneffekt ja net gegeben;)
    Bei Fragen aber einfach melden, dann helf ich gerne
  • Hey Souko,

    Ich kenn das Problem. Ich stand genau so vor dem Berg an Informationen aus den einschlägigen Tutorials... Hast du schonmal was von dem Buch hier gehört:

    rowalt.de/mc/avr/avrbuch/index.htm

    Habs mir damals zugelegt und bin echt begeistert. Ist zwar auch viel Theorie bei, aber anschaulich verpackt. Immer mit kleinen Code-Beispielen. Das Experimentierboard ist nicht unbedingt nötig, da du ein STK500 hast, kannst du auch ohne weiteres damit arbeiten, da dort auch alle Pins so rausgeführt sind, wie man es für die Codebeispiele benötigt.

    Erklärt wird das ganze anhand eines Mega8, stellvertretend für die ganze Atmega-Reihe...

    Kanns dir wirklich nur ans Herz legen. Leider bekommt man das, soweit ich weiss, immer noch nicht im normalen Buchhandel, sondern nur über die HP von Rowalt... Genauert hats bei mir genau zwei Tage...

    Gruß aus Duisburg

    Stephan