- 3D-Druck Einstieg und Tipps         
Seite 4 von 5 ErsteErste ... 2345 LetzteLetzte
Ergebnis 31 bis 40 von 47

Thema: AVR Einstieg leicht gemacht (statt Basic mit C arbeiten)

  1. #31
    Erfahrener Benutzer Fleißiges Mitglied
    Registriert seit
    17.06.2007
    Ort
    zwischen Hannover und Hildesheim
    Alter
    33
    Beiträge
    135
    Anzeige

    Powerstation Test
    Ich arbeite mich gerdae durch das AVR-CCC-Tutorial und ich habe eine kleine Frage zum ersten Beispiel Programm:
    Code:
    #include <avr/io.h>          // (1)
     
    int main (void) {            // (2)
     
       DDRB  = 0xff;             // (3)
       PORTB = 0x03;             // (4)
     
       while(1) {                // (5a)
         /* "leere" Schleife*/;  // (5b)
       }                         // (5c)
     
       /* wird nie erreicht */
       return 0;                 // (6)
    }
    Mit PORTB = 0x03; werden ja die ersten beiden Anschlüsse des PortsB 1.
    Was müsste man machen, um z.B die ersten drei Ausgänge einzuschalten?

    Wäre es dann PORTB = 0x07; ? Oder bei vier Ports: PORTB = 0x0f; ?
    Also dass man in binären Schritten aber in hexadezimaler Schreibweise immer was dazu packt?

    Und habe ich das richtig verstanden, dass aktivierte Ausgänge dann 5V liefern und deaktivierte Ausgänge als GND fungieren?

    Danke
    jawo3

  2. #32
    Erfahrener Benutzer Roboter Experte
    Registriert seit
    22.11.2005
    Ort
    Braunschweig
    Alter
    48
    Beiträge
    685
    Moin!
    Jau, soweit wohl richtig, jedes Bit von PORTB repräsentiert einen Pin, ist das Bit 1, dann ist der zugehörige Pin high, bei 0 low.
    Entweder man ist fit im Umrechnen zwischen den Zahlensystemen, oder man macht das wie hier :http://www.mikrocontroller.net/articles/Bitmanipulation, sonst wird es unübersichtlich, wenn man mal nur Bit 5 und Bit 3 setzen, den Rest aber löschen will.....
    MfG Volker
    Meine kleine Seite
    http://home.arcor.de/volker.klaffehn
    http://vklaffehn.funpic.de/cms
    neuer Avatar, meine geheime Identität

  3. #33
    Erfahrener Benutzer Fleißiges Mitglied
    Registriert seit
    17.06.2007
    Ort
    zwischen Hannover und Hildesheim
    Alter
    33
    Beiträge
    135
    Na klasse, dann habe ich das doch verstanden und wie ist das mit:

    Und habe ich das richtig verstanden, dass aktivierte Ausgänge dann 5V liefern und deaktivierte Ausgänge als GND fungieren?

  4. #34
    Erfahrener Benutzer Roboter Experte
    Registriert seit
    22.11.2005
    Ort
    Braunschweig
    Alter
    48
    Beiträge
    685
    Jau, solange der Port mittels DDRB auf Ausgang gesetzt ist und der µC mit Vcc=5V versorgt wird Ist das zugehörige Bit in DDRB 0, dann wird der interne Pullup-Widerstand des Pins aktiviert, damit man ihn als Eingang gegen GND schalten kann.
    MfG Volker
    Meine kleine Seite
    http://home.arcor.de/volker.klaffehn
    http://vklaffehn.funpic.de/cms
    neuer Avatar, meine geheime Identität

  5. #35
    Erfahrener Benutzer Fleißiges Mitglied
    Registriert seit
    17.06.2007
    Ort
    zwischen Hannover und Hildesheim
    Alter
    33
    Beiträge
    135
    Ist ja cool, danke.
    Dann arbeite ich erstmal weiter. Wenn ich wieder ´ne Frage habe, hört ihr wieder von mir.

  6. #36
    Erfahrener Benutzer Fleißiges Mitglied
    Registriert seit
    17.06.2007
    Ort
    zwischen Hannover und Hildesheim
    Alter
    33
    Beiträge
    135
    Also, da bin ich wieder...^^

    Undzwar lese ich gerade wieder in diesem Artikel:
    https://www.roboternetz.de/wissen/in...leicht_gemacht
    Da steht unter "Grundschaltung mit Quarz", dass man die Schaltung mit einem Quarz erweitern soll. Leider weiß ich nicht welchen ich mir kaufen soll. Welche Frequenz soll der haben, damit ich ihn an den AtMega32 anschließen kann und dann alles so funktioniert, wie es in der Anleitung geschildert ist?


    Vielen Dank
    jawo3

  7. #37
    Moderator Robotik Einstein Avatar von damaltor
    Registriert seit
    28.09.2006
    Ort
    Milda
    Alter
    38
    Beiträge
    4.066
    du kannst jeden quarz (am besten keinen "quarzoszillator"!) zwischen 1 und 16 mhz nehmen. ich arbeite mit 4 mhz, aus dem einfachen grund dass timer und verzögerungsroutinen dann noch recht übersichtlich bleiben.
    Read... or die.
    ff.mud.de:7600
    Bild hier  

  8. #38
    Erfahrener Benutzer Fleißiges Mitglied
    Registriert seit
    17.06.2007
    Ort
    zwischen Hannover und Hildesheim
    Alter
    33
    Beiträge
    135
    Ich hätte hier einen mit 3Mhz und einen mit 16Mhz rumliegen. Sollte ich dann lieber den 3er nehmen oder den anderen? Was sind Vor-und Nachteile von verschiedenen Frequenzen?

  9. #39
    Moderator Robotik Einstein Avatar von damaltor
    Registriert seit
    28.09.2006
    Ort
    Milda
    Alter
    38
    Beiträge
    4.066
    je schneller der quarz, desto schneller arbeitet der mega32 =)

    mit einem langsamen quarz kann man leichter verzögerungen machen, beispielweise mithilfe des counters. hier könnte man problemlos verzögerungen folgender art herstellen:
    takt: 3mhz
    prescaler: 1024 --> zähltakt 3 khz
    überlauf bei 255 -> interrupt kommt alle zehntelsekunde.
    damit lässt sich leicht, aber nicht soo exakt arbeiten. dagegen:
    takt 16 mhz
    prescaler 1024 -> zähltakt 16 khz
    überlauf bei 255 -> interrupt alle 1/60stel sekunde

    wenn du zeitkritische anwendungen hast - lieber den schnellen quarz. wenn du lieber schön langsam alles ehen willst, lieber den langsamen. oder du lötst eine steckbuchse ein, dann kannst du den quarz den du grad willst einfach einsetzen.
    Read... or die.
    ff.mud.de:7600
    Bild hier  

  10. #40
    Erfahrener Benutzer Fleißiges Mitglied
    Registriert seit
    17.06.2007
    Ort
    zwischen Hannover und Hildesheim
    Alter
    33
    Beiträge
    135
    Okay, und müsste ich dann sowas hier in meine Programme einfügen? Das habe ich vorhin mal irgendwo gelesen:

    Code:
    #ifndef F_CPU
    #define F_CPU 3000000UL     /* Quarz mit 3.0000 Mhz  */
    #endif
    oder du lötst eine steckbuchse ein, dann kannst du den quarz den du grad willst einfach einsetzen
    Müsste ich dann irgendwo für die verschiedenen Quarze was anderes eintragen? Zum Beispiel Prog1 läuft mit 3Mhz Quarz und Prog2 mit 16Mhz Quarz, dann müsste ich bei Prog1 irgendwo vermerken, dass mit 3 Mhz gearbeitet wird und ebenso beim 16Mhz Quarz, oder? Ist das zufällig dieses ominöse F_CPU Ding? Wird dann die interne Frequenz zu der Quarz Frequenz dazugezählt oder durch diese ersetzt?


    Vielen Dank
    jawo3

Seite 4 von 5 ErsteErste ... 2345 LetzteLetzte

Berechtigungen

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

Labornetzteil AliExpress