-
        

Seite 1 von 2 12 LetzteLetzte
Ergebnis 1 bis 10 von 13

Thema: ATtiny84 und mein neustart

  1. #1
    Erfahrener Benutzer Fleißiges Mitglied Avatar von mycroc
    Registriert seit
    29.11.2006
    Ort
    Bochum
    Beiträge
    111

    Lächeln ATtiny84 und mein neustart

    Anzeige

    Hallo,
    nach einer Ewigkeit habe ich wieder etwas Zeit zum basteln gefunden. Ich möchte einen ATtiny84V dazu überreden das einige seiner ausgänge blinken.
    Code:
    $regfile = "attiny84.dat"
    $crystal = 1000000
    $hwstack = 32
    $swstack = 32
    $framesize = 32
    
    Pin 1 ist VCC
    Pin 14 ist GND
    
    Config Porta.0 = Input
    Config Porta.1 = Input
    Config Porta.2 = Input
    Config Porta.3 = Output
    'Config Porta.4 = SCK
    'Config Porta.5 = MISO
    'Config Porta.6 = MOSI
    Config Porta.7 = Output
    
    Config Portb.0 = Input
    Config Portb.1 = Input
    Config Portb.2 = Output
    'Config Portb.3 = Reset
    
    Do
    
    Porta.7 = Pina.0
    Porta.3 = 1
    Portb.2 = 1
    
    Wait 1
    
    Porta.7 = Pina.0
    Porta.3 = 0
    Portb.2 = 0
    
    Wait 1
    
    Loop
    
    End                                                         'end program
    Natürlich ist an den Pins kein Blinken vorhanden. Aber warum? Der Chip läst sich Programmieren. Wenn ich per Fuse den Takt auf PB2 (pin5) lege Taktet er auch mit 1Mhz.
    Ich gehe mal davon aus das ich eine dämliche keinigkeit vergessen habe. Ich komme nur nicht darauf.

    MfG
    Ich
    Rechtschreibung war, ist und wird wohl immer eine schwäche von mir sein. Bitte nicht kommentieren!

  2. #2
    Erfahrener Benutzer Roboter Genie
    Registriert seit
    16.02.2006
    Beiträge
    1.112
    Hallo mycroc,
    wir sehen jetzt deine Beschaltung nicht, aber es könnte sein, dass du noch PullUps an die Eingänge machen musst. Entweder intern oder extern.

  3. #3
    Erfahrener Benutzer Fleißiges Mitglied Avatar von mycroc
    Registriert seit
    29.11.2006
    Ort
    Bochum
    Beiträge
    111
    Ich habe auch keine beschaltung. Ich messe mit einem Oszi. Ich habe mal die Interne Pullups eingeschaltet (ich meine mich zu erinnern das es so geht)
    Code:
    $regfile = "attiny84.dat"
    $crystal = 1000000
    $hwstack = 32
    $swstack = 32
    $framesize = 32
    
    Config Porta.0 = Input
    Porta.0 = 1
    Config Porta.1 = Input
    Porta.1 = 1
    Config Porta.2 = Input
    Porta.2 = 1
    Config Porta.3 = Output
    'Config Porta.4 = SCK
    'Config Porta.5 = MISO
    'Config Porta.6 = MOSI
    Config Porta.7 = Output
    
    Config Portb.0 = Input
    Portb.0 = 1
    Config Portb.1 = Input
    Portb.1 = 1
    Config Portb.2 = Output
    'Config Portb.3 = Reset
    
    Do
    
    Porta.7 = Pina.0
    Porta.3 = 1
    Portb.2 = 1
    
    Wait 1
    
    Porta.7 = Pina.0
    Porta.3 = 0
    Portb.2 = 0
    
    Wait 1
    
    Loop
    
    End                                                         'end program
    Es hat keine auswirkungen. Solten die unbeschalteten Pins mit internen pullups nicht ca. 5V haben?
    Rechtschreibung war, ist und wird wohl immer eine schwäche von mir sein. Bitte nicht kommentieren!

  4. #4
    Moderator Robotik Einstein Avatar von Kampi
    Registriert seit
    21.11.2009
    Ort
    Monheim, Nordrhein-Westfalen, Germany
    Alter
    27
    Beiträge
    3.517
    Blog-Einträge
    9
    Hey,

    Pull-Ups kannst du nur aktivieren wenn der Pin als Eingang geschaltet ist. Wenn du die unbeschalteten Pins nicht als Eingang deklarierst bringen auch die internen Pull-Up Widerstände nichts
    Die Pins müssen nicht immer 5V führen wenn sie nicht benutzt werden, da sie einen undefinierten Zustand haben.
    Du musst sie erst konfigurieren, damit sie entweder sicher einen High oder einen Low Pegel haben.
    Fuses hast du auch nachgeguckt? Nicht das irgendwo ein falsches Fusebit gesetzt ist und er deswegen a) zu langsam taktet oder b) die Pins nicht verwenden kann (JTAG oder sowas z.B.).
    Geändert von Kampi (17.11.2012 um 10:38 Uhr) Grund: Denkfehler
    Schaut ruhig mal auf meiner Homepage vorbei :
    http://kampis-elektroecke.de

    Oder folge mir auf Google+:
    Daniel Kampert

    Es gibt 10 Arten von Menschen. Die einen können Binär, die anderen nicht.

    Gruß
    Daniel

  5. #5
    Erfahrener Benutzer Roboter Genie Avatar von Searcher
    Registriert seit
    07.06.2009
    Ort
    NRW
    Beiträge
    1.410
    Blog-Einträge
    101
    @mycroc: Ich sehe keinen Grund, warum der Porta.3 nicht im Sekundentakt auf high bzw low schalten soll.
    Programm wirklich auf den ATtiny84 gelangt? Meßproblem mit dem Oszi? Eine Minimalbeschaltung wirst Du schon haben - mindestens Stromversorgung. Vielleicht hält auch ein nicht abgezogener Programmer den Reset Pin auf low?

    @Kampi: Wenn Du die internen Pull-Up Widerstände meinst, kontrolliere Deine letzte Antwort nochmal

    Gruß
    Searcher
    Hoffentlich liegt das Ziel auch am Weg
    ..................................................................Der Weg zu einigen meiner Konstruktionen

  6. #6
    Moderator Robotik Einstein Avatar von Kampi
    Registriert seit
    21.11.2009
    Ort
    Monheim, Nordrhein-Westfalen, Germany
    Alter
    27
    Beiträge
    3.517
    Blog-Einträge
    9
    Zitat Zitat von Searcher Beitrag anzeigen
    @Kampi: Wenn Du die internen Pull-Up Widerstände meinst, kontrolliere Deine letzte Antwort nochmal
    Autsch....durcheinander gekommen.
    Danke für den Hinweis
    Schaut ruhig mal auf meiner Homepage vorbei :
    http://kampis-elektroecke.de

    Oder folge mir auf Google+:
    Daniel Kampert

    Es gibt 10 Arten von Menschen. Die einen können Binär, die anderen nicht.

    Gruß
    Daniel

  7. #7
    RN-Premium User Fleißiges Mitglied
    Registriert seit
    19.05.2012
    Ort
    Sigmaringen
    Beiträge
    169
    Config Porta.0 = Input
    Porta.0 = 1
    Config Porta.1 = Input
    Porta.1 = 1
    Config Porta.2 = Input
    Porta.2 = 1
    Ich meine gelernt/gelesen zu haben, das man Eingänge mit PinX und Ausgänge mit PortX ansteuert/configuriert. ??

  8. #8
    Moderator Robotik Einstein Avatar von Kampi
    Registriert seit
    21.11.2009
    Ort
    Monheim, Nordrhein-Westfalen, Germany
    Alter
    27
    Beiträge
    3.517
    Blog-Einträge
    9
    Stimmt. Da hast du recht.
    Inputs immer mit Pin (IN = Input) und Outputs immer mit Port (O = Output).
    So merk ich es mir zumindest immer :P (auch wenn es hier nichts gebracht habe, da ich da nicht nach geschaut habe ^.^).
    Schaut ruhig mal auf meiner Homepage vorbei :
    http://kampis-elektroecke.de

    Oder folge mir auf Google+:
    Daniel Kampert

    Es gibt 10 Arten von Menschen. Die einen können Binär, die anderen nicht.

    Gruß
    Daniel

  9. #9
    Erfahrener Benutzer Roboter Genie Avatar von Searcher
    Registriert seit
    07.06.2009
    Ort
    NRW
    Beiträge
    1.410
    Blog-Einträge
    101
    Zitat Zitat von JoeM1978 Beitrag anzeigen
    Ich meine gelernt/gelesen zu haben, das man Eingänge mit PinX und Ausgänge mit PortX ansteuert/configuriert. ??
    Kommt drauf an, was man möchte.
    Mit CONFIG PORTx oder CONFIG PORTx.y konfiguriert man auf Output oder Input.
    (Das auch CONFIG PINx.y zugelassen wird und auch funktioniert, finde ich verwirrend)
    Ist der Portpin ein Ausgang und möchte man dessen Pegel ändern: Portx.y = 1 bzw 0
    Möchte man beim Ausgang den Pegel toggeln, geht bei vielen AVR: Pinx.y = 1
    Ist der Portpin ein Eingang, wird mit Portx.y = 1 der interne Pullup eingeschaltet und mit 0 augeschaltet. (ach ja, kommt auch noch auf das PUD Bit an, das aber defaultmäßig auf 0 ist. Wenn das auf 1 ist, kann der Pullup nicht eingeschaltet werden - Datenblatt unter "Ports as General Digital I/O")

    Um den Zustand eines Portpins zuzuweisen: A = PINx.y

    Nachzuvollziehen mit kleinem Testprogramm im Simulator und mit Datenblatt zum jeweiligen AVR, wobei ich mir nicht sicher bin, ob der Simulator beim Simulieren des Toggelns mit PINx.Y = 1 das immer richtig macht (V2.0.5.0)

    Gruß
    Searcher
    Geändert von Searcher (17.11.2012 um 12:04 Uhr)
    Hoffentlich liegt das Ziel auch am Weg
    ..................................................................Der Weg zu einigen meiner Konstruktionen

  10. #10
    Erfahrener Benutzer Roboter Experte
    Registriert seit
    15.01.2007
    Ort
    Göttingen
    Beiträge
    705
    Die ganze Verwirrung um die Konfiguration von Ein- und Ausgängen kann man aber auch auf ein Minimum reduzieren, indem man

    1. die Tatsache nutzt, dass jeder I/O-Port nach dem Einschalten bereits als Eingang konfiguriert ist, und
    2. gewünschte Ausgänge über das "DDR"-Register (Data Direction Register) als Ausgänge konfiguriert.

    Die kann entweder einzeln geschehen, in diesem Falle also

    DDRA.3=1
    DDRA.7=1
    DDRB.2=1

    oder gleich byteweise:

    DDRA = &b10001000
    DDRB = &b00000100

Seite 1 von 2 12 LetzteLetzte

Ähnliche Themen

  1. ATTiny84 Pegelbegrenzung mit Zenerdiode oder wie?
    Von DanielSan im Forum AVR Hardwarethemen
    Antworten: 25
    Letzter Beitrag: 01.12.2011, 14:40
  2. keine Verbindung zum ATtiny84
    Von Skynet im Forum AVR Hardwarethemen
    Antworten: 6
    Letzter Beitrag: 07.08.2011, 21:35
  3. Quarz berührt: Neustart. Warum eigentlich?
    Von Jaecko im Forum AVR Hardwarethemen
    Antworten: 19
    Letzter Beitrag: 08.11.2008, 22:53
  4. Ungewollter Neustart (CC 1 V2.0)
    Von msawadw im Forum Controller- und Roboterboards von Conrad.de
    Antworten: 8
    Letzter Beitrag: 28.03.2006, 01:20
  5. RoboKing Roboterwettbewerb - Rückblick und Neustart
    Von zefram im Forum Neuigkeiten / Technik-News / Nachrichten / Aktuelles
    Antworten: 0
    Letzter Beitrag: 11.05.2004, 18:17

Berechtigungen

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