Hallo Gemeinde,
Ich versuche gerade ein Digitalpoti DS1267-100 (14-Pin DIP) über einen Atmega8 zu steuern.
Rudementär scheint sich auch etwas zu tun, der DS1267 bekommt Daten vom Atmega.
Ich habe einen Signalgenerator und ein Oszi angeschlossen. Der Signalgenerator gibt ein Rechteck auf Pin 2(H1) des DS1267, Pin 4(W1) geht an das Oszi, Pin 3(L1) liegt auf GND.
Über ein LCD gebe ich die Daten aus, die an das DS1267 gesendet werden. Die Daten, die gesendet werden sind soweit korrekt.
Was passiert ist folgendes: Beim ändern der Daten toggelt das Signal auf dem Oszi nur zwischen zwei Werten hin un her.
Bin etwas ratlos, vielleicht kann mir einer von Euch auf die Sprünge helfen.
Hier die relevanten Zeilen des Bascom-Programmes:
Code:
' Ansteuerung des DS1267
Ds1267_clk Alias Portc.5
Ds1267_dq Alias Portc.4
Ds1267_rst Alias Portc.3
Config Ds1267_clk = Output
Config Ds1267_dq = Output
Config Ds1267_rst = Output
...
' Lautstärke über DS1267 regeln
Sub Setvolume(byval Tot_vol As Word)
Dim Vreg17 As Long
' DS1267 ansteuern
' Start Datenübertragung RST HIGH
Set Ds1267_rst
Vreg17 = Tot_vol
' Stack Select Bit setzten BIT 0, Bit 1-8 Poti0, Bit 9-16 Poti1
Shift Vreg17 , Left
' 17 Bits nach DS1267 shiften
Shiftout Ds1267_dq , Ds1267_clk , Vreg17 , 3 , 17
' Ende Datenübertragung RST LOW
Reset Ds1267_rst
Cls
Upperline
Lcd Vreg17
Lowerline
Lcd Tot_vol
End Sub
vielen Dank für Eure Hilfe
smalldevice
Lesezeichen