Forum: Mikrocontroller und Digitale Elektronik Bascom Problem - nächstes Bild/Grafik mit Taster schalten


von Daniel M. (Gast)


Lesenswert?

Hallo,
ich bin grade dabei einen kleinen digitalen Bilderrahmen zu bauen.
Die Bilder (ca.8 Stück) werden in einem mega1284p gespeichert und über 
ein
Nokia 6100 Display dargestellt.
Bisher werden die Bilder automatisch alle 7 Sekunden gewechselt.
Nun möchte ich aber die Bilder über einen Taster wechseln.
Bei einem kurzen Tastendruck soll das nächste Bild angezeigt werden.

Ich habe aber das Problem das ich nicht weiss wie ich den Showpic-Befehl 
in den Code einbinden soll. (Der Rest des Codes sollte sich von selbst 
erklären)
Ich habe bisher folgendes versucht:

Dim Bild(8) as Byte
Dim B as Integer

Bild(1) = Showpic 0 , 0 , Picture 1
Bild(2) = Showpic 0 , 0 , Picture 2
....
Bild(8) = Showpic 0 , 0 , Picture 8

Do
If PinD.6 = 0 Then
  Incr B
   If B = 9 Then B = 1
  wait 1
End if

Leider funktioniert das nicht da Bascom meldet:
"Source variable does not match the target variable"

Kann mir jemand sagen wie der Code aussehen muss oder was ich ändern 
muss, damit die Funktion gegeben ist?
Danke schonmal im Vorraus

von Karl H. (kbuchegg)


Lesenswert?

if B = 0
    showpic 0, 0, bild1
  else if B = 1
    showpic 0, 0, bild2
  ...

von BASCOMmer (Gast)


Lesenswert?

Hallo,

du hast ein Systax-Problem in den "showpic"-Zeilen. Wie in der 
BASCOM-Hilfe nachzulesen, ist dieses Kommando keine Funktion, die einen 
Wert zurückliefert (so wie du sie verwendet hast), sondern ein 
Programmteil.
Somit muss der Aufruf richtig lauten:

>> Showpic 0 , 0 , Picture 1

wobei es nicht gut ist, Leerzeichen in Variablen- bzw. Labelnamen zu 
verwenden; es ist schlecht lesbar. Besser wäre daher statt "Picture 1":

>> Showpic 0 , 0 , Picture_1
oder
>> Showpic 0 , 0 , Picture1

Die Abfrage der einzelnen Bilder kann man mit einem "select case"-Block 
machen, wobei der Index "B" die Laufvariable ist:

>>Select Case B
>>  Case 1 : Showpic 0 , 0 , Picture_1
>>  Case 2 : Showpic 0 , 0 , Picture_2
>>  Case 3 : Showpic 0 , 0 , Picture_3
>>  ...
>>End Select

Die Variable "Bild(8)" ist nicht erforderlich.

MfG

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
Noch kein Account? Hier anmelden.