Hallo Gemeinde, Ich (immer noch blutiger Anfänger mit µC) versuche mich gerade an einer Lautstärkeregelung mit dem Digitalpoti DS1802. Leider komme ich nicht mehr weiter, vielleicht kann mir einer von Euch helfen. Ich nutze die Hardware SPI und habe folgendermaßen beschaltet: ATmega8 DS1802 PB3 (MOSI) --> D (Serial Port Data Input) PB5 (SCK) --> CLK (Serial Port Clock Input) PB2 (SS) --> RST (Serial Port Reset Input) Wenn ich nun die Fernbedienung betätige kann ich mit dem Oszi an PIN D und Pin RST des DS1802 Dateneingang nachweisen. Leider kann ich keine Änderung des Widerstandes an den entsprechenden Pins des DS1802 feststellen (was ja eigentlich Sinn der Übung ist). Vielleich erkennt ein Profi gleich wo ich Mist gebaut hab. Hier mein Programm: ' Lautstärkeregelung über IR-Fernbedienung mit ATMega8 und DS1802 $regfile = "m8def.dat" 'erzeugt kleineren code $lib "mcsbyte.lbx" $baud = 19200 $crystal = 4000000 Declare Sub Lauter Declare Sub Leiser Declare Sub Setvolume ' für Digitalpoti DS1802 Config Spi = Hard , Data Order = Msb , Master = Yes , Polarity = High , Phase = 0 , Clockrate = 4 , Noss = 0 Spiinit Config Portc = Output 'Pin für IR-Sensor PD7 Config Rc5 = Pind.7 Portd.7 = 1 Enable Interrupts Dim Addr As Byte , Comm As Byte Dim Vol_l As Byte , Vol_r As Byte Vol_l = 0 Vol_r = 0 Do Getrc5(addr , Comm) If Addr <> 255 Then Reset Comm.7 Select Case Comm Case 16 Call Lauter Case 17 Call Leiser End Select End If Loop End Sub Lauter If Vol_l < 63 Then Vol_l = Vol_l + 1 If Vol_r < 63 Then Vol_r = Vol_r + 1 Call Setvolume End Sub Sub Leiser If Vol_l > 0 Then Vol_l = Vol_l - 1 If Vol_r > 0 Then Vol_r = Vol_r - 1 Call Setvolume End Sub Sub Setvolume ' DS1802 ansteuern Spiout Vol_l , 1 Spiout Vol_r , 1 End Sub
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.