-         

Ergebnis 1 bis 5 von 5

Thema: [gelöst] Pin am AVR taktet obwohl er es nicht soll

  1. #1
    Erfahrener Benutzer Begeisterter Techniker
    Registriert seit
    28.05.2007
    Ort
    Mannheim
    Alter
    30
    Beiträge
    270

    [gelöst] Pin am AVR taktet obwohl er es nicht soll

    Anzeige

    SMARTPHONES & TABLETS-bis zu 77% RABATT-Kostenlose Lieferung-Aktuell | Cool | Unentbehrlich
    Hallo leute,

    ich saß jetzt ziemlich lange an einem Problem, was sich scheinbar nicht lösen lies. Jetzt habe ich nach sehr langem suchen zumindest die Fehlerursache gefunden. Nur leider weiß ich nicht wie ich ihn beseitigen kann. Ich hoffe ihr könnt mir weiter helfen.

    Ich habe an 4 Pins eines AVRs einen CMOS-Baustein 4028 (BCD Decoder)angeschlossen. Mein Programm sieht wie folgt aus:

    Code:
    $regfile = "m8def.dat"
    $crystal = 8000000
    
    'DDR = &B76543210   ; 0=Eingang  ; 1=Ausgang
    Ddrb = &B00000111
    Ddrd = &B1111001
    Ddrc = &B00000000
    Portc = &B00000000
    Portb = &B00000100
    Portd = &B00000101
    
    Config Sda = Portc.4                                        'Data-Line für I2C-Bus
    Config Scl = Portc.5                                        'Tackt für I2C-Bus
    Config Adc = Single , Prescaler = Auto
    
    Declare Sub Ir_vl_an
    
    On Twi Data_empfang
    
    Start Adc
    'Enable Int0
    Enable Interrupts
    
    Ir_vl_an
    Do
    Loop
    
    Sub Ir_vl_an
      'IR-Diode vorne links anschalten
      Portd.4 = 1
      Portd.5 = 0
      Portd.6 = 1
      Portd.7 = 0
      Return
    End Sub
    So weit klappt das eigentlich auch fast.
    Wenn ich die Spannungen an den Pins messe kommt folgendes heraus:
    Portd.4 = 5V
    Portd.5 = 0V
    Portd.6 = 5V
    Portd.7 = 0,5V

    Und die 0,5V am Portd.7 hat mein CMOS offensichtlich als "1" erkannt.
    Nun bin ich mal noch auf die Idee gekommen nach schwingungen zu schaun (Freuqenzmessung am Multimeter) Und wie ich feststellte: Portd.4-6 haben 0 HZ und Portd.7 hat etwa 50HZ und manchmal 500 HZ.
    Meine Eingangsspannung steht bei 0HZ, ist geglättet und sauber.

    Ich habe auch mal versucht einen anderen Controller zu verwenden. Jedoch komme ich auch da auf exakt das gleiche Ergebniss.

    Von den Leiterbahnen her habe ich alles durchgemessen, da gib es keinerlei Fehlverbindungen. Und auch sonst gibt es auf der Platine keine weiteren Frequenzen (Außer dem 8MHz Quarz)

    Hat irgendwer eine Idee woher diese Taktung an dem Pin herkommen könnte?

    Hoffe ihr wisst noch was, denn ich bin mit meinen Ideen am Ende

    Gruß Robodriver
    Wer aufhört besser zu werden, hat aufgehört gut zu sein

    Jeder I/O Port kennt drei Zustände: Input, Output, Kaputt

  2. #2
    Erfahrener Benutzer Robotik Einstein Avatar von Dirk
    Registriert seit
    30.04.2004
    Ort
    NRW
    Beiträge
    3.791
    Hallo robodriver,

    hast du gesehen, dass du ddrd nur mit 7 Bit definiert hast?

    Gruß Dirk

  3. #3
    Erfahrener Benutzer Begeisterter Techniker
    Registriert seit
    28.05.2007
    Ort
    Mannheim
    Alter
    30
    Beiträge
    270
    Uups.
    Stimmt du hast recht. So ein misst, da muss mir irgendwann wohl mal ausversehen was verloren gegangen sein. Und ich such Tagelang auf der Platine und im quelltext rum...
    Denn vorher hatte es alles einwandfrei funktioniert...

    Na gut, hab jetzt jedenfalls mal 8 Bit definiert und jetzt funktionierts auch.
    Aber gut zu wissen, das ein schwingender Pin auf einen nicht-definierten Pin hinweist.
    Supi man lernt nie aus

    Tausend dank nochmal
    Wer aufhört besser zu werden, hat aufgehört gut zu sein

    Jeder I/O Port kennt drei Zustände: Input, Output, Kaputt

  4. #4
    Erfahrener Benutzer Robotik Einstein Avatar von Dirk
    Registriert seit
    30.04.2004
    Ort
    NRW
    Beiträge
    3.791
    ... zur Ergänzung:

    Ich gehe davon aus, dass ddrd = &b1111001 letztlich so gedeutet wurde:
    ddrd = &b01111001.

    Damit war d.7 Eingang. Was du gemessen hast, war die Netzfrequenz an einem hochohmigen Eingang. Also keine echte, vom M32 irgendwie produzierte 50Hz Frequenz.

    Gruß Dirk

  5. #5
    Erfahrener Benutzer Begeisterter Techniker
    Registriert seit
    28.05.2007
    Ort
    Mannheim
    Alter
    30
    Beiträge
    270
    Ja, scheint so.
    Aber warum denn Netz-Frequenz?
    Wo soll er die her nehmen? Er läuft über ein NiMH Akku....
    Und warum sind es ab und zu dann auch mal 500Hz?

    ^^ ach ja, und wenn ich den Controller von der Schaltung runter genommen habe, war die frequenz weg.
    Also muss diese schon irgendwie was mit dem Controller zu tun gehabt haben
    Wer aufhört besser zu werden, hat aufgehört gut zu sein

    Jeder I/O Port kennt drei Zustände: Input, Output, Kaputt

Berechtigungen

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