-         

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

Thema: Attiny12 - Probleme ohne Ende?

  1. #1
    Benutzer Stammmitglied
    Registriert seit
    11.03.2009
    Beiträge
    76

    Attiny12 - Probleme ohne Ende?

    Anzeige

    Hallo,
    wie in der Überschrift geschrieben, verzeifle ich gerade an dem Attiny12. Gut, er hat keinen SRAM, aber das kann man umgehen. Viel schlimmer ist, das ich es nicht hinbekomme, auch nur einen Pin als Input zu nutzen! Das kann doch nicht sein. Ich habe es mit "Config Pinb.4 = Input" und "Config Portb.4 = Input" porbiert, ich habe den internen Pullup eingeschaltet und wieder ausgeschaltet, aber nichts funktioniert! Warum denn? Mit einem Chip, der keinen Input auslesen kann, kann man nichts anfangen! Im Datenblatt steht aber doch 6 I/O Pins !

    Über Hilfe wäre ich sehr dankbar.

    MFG Manuel

  2. #2
    Erfahrener Benutzer Roboter Experte
    Registriert seit
    15.01.2007
    Ort
    Göttingen
    Beiträge
    705
    Ich habe es mit "Config Pinb.4 = Input" und "Config Portb.4 = Input" porbiert, ich habe den internen Pullup eingeschaltet und wieder ausgeschaltet, aber nichts funktioniert!
    Moin Manuel,

    Ich frage mich gerade ob der Fehler nicht ganz wo anders liegt als beim Port B.4, denn die I/O-Ports sind beim Power-On-Reset automatisch als Eingänge konfiguriert - da muss man gar nix für tun!

    Was funktioniert denn nicht??


    Edit:
    Könnte es vielleicht sein, dass Du dem "Klasssiker" aufgesessen bist, und den Eingangspin mit PORTB.4 abfragst und nicht mit PINB.4?

  3. #3
    Erfahrener Benutzer Robotik Visionär Avatar von oberallgeier
    Registriert seit
    01.09.2007
    Ort
    Oberallgäu
    Beiträge
    7.551
    Zitat Zitat von Sauerbruch
    ... Könnte es vielleicht sein, dass Du dem "Klasssiker" aufgesessen bist ...
    Jedenfalls bist Du schon einem weiteren Klassiker aufgesessen: Softwarebezogene Fragen zu stellen ohne den eigenen Code, möglichst komplett, hier reinzustellen. Am aktuellen Code zeigen sich doch öfters mal die wirklichen Probleme. Wenn man das nicht macht, können die Ratgeber weniger be- als vielmehr nur rum-raten.

    Wenn man ein einfaches Bildchen hier reinstellt, dann sind ziemlich schnell 100, eher 200 kB Platz, meist aber erheblich mehr belegt. Ein längeres Codebeispiel mit reichlich Kommentar braucht etwa 20 kB, selten mehr - also an der Rücksicht auf belegten Speicher im Forum kanns nicht liegen.
    Ciao sagt der JoeamBerg

  4. #4
    Benutzer Stammmitglied
    Registriert seit
    11.03.2009
    Beiträge
    76
    Hallo,
    erstmal vielen Dank für die Antworten! Es liegt nicht daran, dass ich Portb.4 statt Pinb.4 geschrieben habe. Ich habe alles durchprobiert. Also hier dann der Code:

    Code:
    $regfile = "ATtiny12.DAT"
    $crystal = 2000000
    $tiny
    $noramclear
    $swstack = 0
    $framesize = 0
    
    Config Portb.0 = Output
    Config Portb.2 = Output
    Config Pinb.3 = Input
    Config Pinb.5 = Input
    Portb.3 = 1
    Portb.5 = 1
    
    Do
       If Pinb.3 = 0 Then Portb.0 = 1
       If Pinb.3 = 1 Then Portb.0 = 0
       If Pinb.5 = 0 Then Portb.2 = 0
       If Pinb.5 = 1 Then Portb.2 = 1
    Loop
    
    
    End
    Aber es könnte genausogut dieser Code sein:

    Code:
    $regfile = "ATtiny12.DAT"
    $crystal = 2000000
    $tiny
    $noramclear
    $swstack = 0
    $framesize = 0
    
    Led alias Portb.3
    Config Portb.3 = Output
    Config Pinb.4 = Input
    
    Do
    Led1 = Pinb.4
    Loop
    Die genaue Fehlerbeschreibung:

    Ich habe einen der oben genannten Codes in Bascom Compiliert. Dann Programmiere ich den Code auf den Chip. (Was für mich nur nervig und nicht zu verstehen ist, ist, dass ich jedes Mal, bevor ich das Programm auf den uC überspiele, in den Lockbits das LB21 von "No memory lock features enabled" auf "Further programming and verify of the Flash and EEPROM is disabled" ändern muss. Ich weiß, man soll nicht in den LBs rumspielen, aber wenn ich es nicht tue, kommt eine Fehlermeldung und der Prgrammiervorgang wird mittdendrin abgebrochen. Es kann doch eigentlich gar nicht sein, dass sich LBs von selbst wieder umändern, oder?) Also, ich programmiere den Code auf den uC und dann drücke ich den entsprechenden Taster zu Pinb.4 auf dem STK500. Es passiert - nichts. Inputs werden scheinbar nicht berücksichtigt. Ich kann Lauflichter und Ähnliches programmieren, aber keine Inputs. An Pullups liegt es nicht, die hat das STK500 integriert (Ich habe es trotzdem schon mit internem Pullup gemacht, geht auch nicht).

    Ich frage mich gerade ob der Fehler nicht ganz wo anders liegt als beim Port B.4, denn die I/O-Ports sind beim Power-On-Reset automatisch als Eingänge konfiguriert - da muss man gar nix für tun!
    Aber hieße das nicht, dass ich gar keine Outputs programmieren könnte?

    MFG Manuel

  5. #5
    Erfahrener Benutzer Robotik Einstein
    Registriert seit
    08.01.2006
    Beiträge
    4.556
    Hmm, ich habe gerade kein Datenblatt, kann der Tiny 12 tatsächlich 20 MHz und sind diese auch in den Fuses eingestellt?

    Gruß Richard

  6. #6
    Erfahrener Benutzer Robotik Einstein
    Registriert seit
    08.01.2006
    Beiträge
    4.556
    Zitat Zitat von Richard
    Hmm, ich habe gerade kein Datenblatt, kann der Tiny 12 tatsächlich 20 MHz und sind diese auch in den Fuses eingestellt?

    Ach und ich mußte außer den Quarz einstellen noch NIE etwas an den Fuses ändern. Allerdings stelle ich die nicht unter Bascom ein, dafür benutze ich Studio 4. Ist (für mich) einfach übersichtlicher.

    Gruß Richard

  7. #7
    Benutzer Stammmitglied
    Registriert seit
    11.03.2009
    Beiträge
    76
    Hallo,
    nein, er kann bis zu 4 Mhz oder so, aber ich habe es auch schon mit viel weniger probiert; es geht auch nicht! Ja, kann ja gut sein, dass du an den Lock- und Fusebits nichts ändern musst, das ist ja das Komische, ich muss es halt ! Ich verstehe es selbst nicht, es ist ja auch unlogisch. Aber wenn ich es nicht mache, kann ich nicht programmieren. Wie meinst du das hier:

    kann der Tiny 12 tatsächlich 20 MHz und sind diese auch in den Fuses eingestellt?
    Wie stellt man denn in den Fusebits die Frequenz ein ?

    MFG Manuel

  8. #8
    Erfahrener Benutzer Roboter Experte
    Registriert seit
    15.01.2007
    Ort
    Göttingen
    Beiträge
    705
    Ich kann Lauflichter und Ähnliches programmieren

    ...das heißt also, Du kannst z.B. LEDs über die verschiedene Ausgänge korrekt ansteuern? Das würde ja beweisen, dass es in der Tat nicht an den Ausgängen liegt...

  9. #9
    Benutzer Stammmitglied
    Registriert seit
    11.03.2009
    Beiträge
    76
    Hallo,
    ja, genau, ich kann alles programmieren, solange ich nur nicht einen Eingang brauche.

    MFG Manuel

  10. #10
    Erfahrener Benutzer Robotik Einstein
    Registriert seit
    08.01.2006
    Beiträge
    4.556
    Zitat Zitat von manu418
    Hallo,
    nein, er kann bis zu 4 Mhz oder so, aber ich habe es auch schon mit viel weniger probiert; es geht auch nicht! Ja, kann ja gut sein, dass du an den Lock- und Fusebits nichts ändern musst, das ist ja das Komische, ich muss es halt ! Ich verstehe es selbst nicht, es ist ja auch unlogisch. Aber wenn ich es nicht mache, kann ich nicht programmieren. Wie meinst du das hier:

    kann der Tiny 12 tatsächlich 20 MHz und sind diese auch in den Fuses eingestellt?
    Wie stellt man denn in den Fusebits die Frequenz ein ?

    MFG Manuel
    OK ich hatte falsch gelesen 20 anstatt 2 MHz.

    Fuses:

    https://storage.driveonweb.de/dowdoc...28e9e81c28.JPG

    Gruß Richard

Seite 1 von 3 123 LetzteLetzte

Berechtigungen

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