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:
So weit klappt das eigentlich auch fast.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
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








Zitieren
Lesezeichen