Bascom Problem beim Ansteuern einer LED-Matrix

Hallo True Neo,

so hab bzw. so ähnlich hab ichs auch gemacht.^^ Mir gehts ja auch nicht um das strickte Darstellen, sondern um das komplette rein und rausshiften. Ich krieg das nur hin, dass es entweder rein oder rausscrollt. ;)
Und die Lizenz kaufen?! Mh.... Ich möchte mich erstmal mit den Mitteln die ich habe ausprobieren. Da ich eh noch nicht so tiefgreifend programmieren kann. Bisher hat ja auch alles was ich gebaut hab auch mit der 1.11.8.7 Vollversion geklappt. Also mal sehen wie weit ich hiermit komme ;)^^

Liebe Grüße
Kokusnuss
 
Hallo !

Wenn du eine Vollversion von 1.11.8.7 hast, dann kannst du doch kostenfrei updaten.
Bei der 1.11.8.7 Demoversion geht das natürlich nicht. ;)


Ich habe meine Idee eben mal durch den Simulator laufen lassen.....
Code:
   For I = 0 To 31
      Print "Einzel-Bit " ; I ; " von Lang_110=" ; Lang_110.i
   Shiftout Data_pin , Data_clock , Lang_110.i , 0 , 1
   Next I
BASCOM meckert aber nicht und daher sollte auch das doch so funktionieren, oder? :hmmmm:
Oder liegt das vielleicht auch an meiner 2.0.7.3 Version?

Ich habe hier aber keinen Testaufbau, um das Real nachzuprüfen......


Grüße,
Cassio
 
Ich glaube stark, dass es an meiner Version liegt.
Ich hab hier eben nochwas herausgefunden, was nebenbei auch nicht funktioniert.
Und zwar kann ich im Array keine Variable hinzuaddieren. Bascom meckert nicht, aber funktionieren tuts auch nicht.
Eine Zahl für x einsetzen funktioniert.
"Shiftout , Data_4094 , Clock_4094 , Anzeige_a(zeile + X) , 0 , 24"

Naja. Ich glaube ich sollte doch mal über ein Update nachdenken. ;(
Das sind jetzt schon 4 Sachen die mich mit dieser Version einschränken. :mad:

Lieber Gruß
Kokusnuss ;)
 
Irgendwie kann ich hier kein update machen??
Müsste es nicht bei Help einen Dropbutton geben für Update?
 
Hallo !

Nein, es gibt keinen Button unter Hilfe für ein Update!

Wenn du eine Vollversion hast, dann musst du dich einmal mit deiner Lizenz (Seriennummer) bei MCS registrieren.....
Danach bekommst du eine Mail und bist für den Update-Bereich auf der Webseite freigeschaltet.
Dort findest du dann unter "Download LIC-Files" die Neueste.... und alle vorherigen Versionen als LIC-Datei.

Ganz unten auf der Seite kannst du den "UpdateWiz" laden, der dann das Updaten deiner Version übernimmt.
Bei dem großen Versionssprung, von 1.11.8.7 zu 2.0.7.3, würde ich dir aber das Laden der aktuellen Vollversion empfehlen und diese neu installieren.

Grüße,
Cassio
 
Hallo,

Kokusnuss schrieb:
so hab bzw. so ähnlich hab ichs auch gemacht.^^ Mir gehts ja auch nicht um das strickte Darstellen, sondern um das komplette rein und rausshiften. Ich krieg das nur hin, dass es entweder rein oder rausscrollt.

Sorry mein Fehler.

Da ich gerade für ein paar Tage im Krankenhaus liege, habe ich viel Zeit totzuschlagen. ;)
Ich habe mir nocheinmal ein Programm überlegt wie es gehen könnte.

Das Prinzip des folgenden Programm´s ist, dass das erste Byte aus dem Textarray das die
vorgegebene Spalte enthält berechnet und diese plus die nächsten 3 Byte in ein Array
umkopiert wird. Dieses Array wird durch eine Long-Variable überlagert und dadurch ist
das Schieben aller 4 Byte auf einmal Möglich.
Nun wird nur noch der Spalte entsprechend die Bits in dieser Variable nach Rechts
geschoben, damit die auszugebenden Bits Rechtsbündig stehen. Da nur 24 Bit an die
Hardware ausgegeben werden sollen interessieren die Höherwertigen Bits nicht. Nun
werden die 24 Bit auf die Hardware raus geschoben.
Das passiert nun mit allen 8 Zeilen. Danach kann wieder eine neue Spalte vom
übergeordneten Programm vorgegeben werden.
Es wird natürlich sinnvoll sein, bevor eine neue Spalte vorgegeben wird, dass die aktuelle
Ausgabe für eine gewisse Zeit wiederholt wird, da sonst der Text nur so durch die Matrix
flutscht. Mit der Wiederholrate wird auch die Scrollgeschwindigkeit festgelegt.
Da kann man auch schöne Effekte erzielen.
Zum Beispiel: beim Reinscrollen beschleunigen und zum Ende hin wieder abbremsen.
(Effekt wie beim Handy.)

Dieses Beispiel habe ich auf 20 Byte Breite Bitmuster (Text) eingestellt. Kann jederzeit geändert werden.
Damit aber ein Kompletter Text beginnend mit Leertext und endend mit Leertext,
durch die Matrix durchgeschoben werden kann müssen die ersten 3 Byte jeder Zeile Nullbyte sein.
Zusätzlich werden am Ende des Array´s noch 4 Nullbyte benötigt.
Das ist leider eine Verschwendung von 8 * 3 + 4 Byte. Dafür ist das Programm einfacher.
Somit können bei diesem Beispiel die Spalten 0-160 adressiert werden.

Hier ein Textmuster. (Das ist kein Code.)
Zur besseren Darstellung ist - => 0, # => 1 und 0 muss permanennt 0 sein.
Code:
 NrByte        20            6        5        4  3  2        1 -> Z1
 NrByte        40           26       25       24 23 22       21 -> Z2
.
.
 NrByte       160          146      145      144 .3 .2      141 -> Z8
 NrByte                                      164 .3 .2      161 -> Z9

      Z1 #------- ... -#------ -#--##-- -##---#- 00 00 00000000
      Z2 ##------ ... -#------ -#-#--#- #--#-##- 00 00 00000000
      Z3 #-#----- ... -#------ -#----#- ---#--#- 00 00 00000000
      Z4 #--#---- ... --#----- #---##-- --#---#- 00 00 00000000
      Z5 #--#---- ... --#--#-- #-----#- -#----#- 00 00 00000000
      Z6 #-#----- ... --#-#-#- #--#--#- #-----#- 00 00 00000000
      Z7 ##------ ... ---#---# ----##-- ####-### 00 00 00000000
      Z8 #------- ... -------- -------- -------- 00 00 00000000
      Z9                                00000000 00 00 00000000
         ^      ^            ^        ^        ^  ^  ^        ^
         |      |            |        |        |  |  |        |
Spalte 159    152 ...       40       32       24 16  8        0
Spalte                                                      160

Hier nun das Programm:
Code:
Const Zoffset = 20                                          'Zeilenoffset (Anzahl der Byte im Textarray) auf 20 Byte eingestellt
Const Zlaenge = Zoffset * 8                                 'Zeilenlänge = Spaltenanzahl pro Zeile
Const Anz =(zoffset * 8) + 4
Dim Text(anz) As Byte                                       'Bitmuster der Zeile 1-8 des Auszugebenden Textes + 4 Nullbyte
Dim Spalte As Word                                          'hier wird die erste Spalte die Ausgegeben werden soll vorgegeben (0-160)
Dim Nrbyt As Word                                           'zum Berechnen des 1. Auszugebenden Byt aus dem TextArray
Dim Nrbit As Byte                                           'zum Berechnen des 1. Auszugebenden Bit aus dem Textarray
Dim Ausgabe As Long                                         'hier stehen am Ende die 24 Spalten Rechtsbündig zur Ausgabe bereit
Dim Ausgbyte(4) As Byte At Ausgabe Overlay                  'Die einzelnen Elemente der Variable Ausgabe
Dim I As Byte
Dim K As Word
Dim Y As Word
Dim Z As Word


                                                         '<= Programm zur Veränderung der Var "Spalte"
                                                         '<= Begin zusätzliche Schleife für x Wiederholungen
Spalte = 17

If Spalte <= Zlaenge Then                                   'Nur bearbeiten wenn der Spaltenwert innerhalb der Grenzen liegt
  Nrbyt = Spalte
  Shift Nrbyt , Right , 3                                   'Byteadresse aus dem Textarray berechnen
  Nrbit = Spalte Mod 8                                      'Bitversatz im Textarray berechnen

  Y = Zlaenge - 1
  For Z = 0 To Y Step Zoffset                               'Schleife um alle 8 Zeilen zu bearbeiten
    Waitms 1                                                'Rund 100Hz Wiederholrate um Flimmerfrei zu sein
                                                            'Nur hier für den Test relevant, da in der Schleife die Ausgabe erfolgt.
    For I = 1 to 4
      K = Nrbyt + I                                         'Byteoffset im Textarray berechnen
      K = K + Z                                             '-
      Ausgbyte(i) = Text(k)                                 'Addressiertes Byte dem Ausgabestring zuweisen
    Next I

    Shift Ausgabe , Right , Nrbit                           'um den Bitoffset verschieben, damit die adressierte Spalte Rechts steht

    Shiftout Data_4094 , Clock_4094 , Ausgabe , 0 , 24      'Ausgabe an die Matrix
  NEXT Z
Endif

                                                         '<= Ende zusätzliche Schleife für x Wiederholungen

Wie schon Oben erwähnt über das Programm gehört für den Test noch eine Schleife
um die Ausgabe öfter zu wiederholen, sonst sieht man nur ein kurzes aufflackern.
Durch kontinuierliche Veränderung der Variable "Spalte" wird nun Bitweise
Vor oder Rckwärts gescrollt.

Ich hoffe ich hab nicht zu viele Fehler eingebaut, da ich kein BASCOM habe und
dadurch nicht Testen kann.

LG
 
Hallo zusammen, :hello:

so habe jetzt endlich mal wieder Zeit für etwas Elektronik. :cool:
Vielen Dank Neo für deinen Programmvorschlag. Soweit habe ich den Gedanken, der dahinter steckt, den Text in die Matrix zu scrollen, verstanden.
Allerdings weiß ich nicht so recht wie ich das in meinem bisherigen Programm unterbringen muss?:confused:

Hier einmal das Programm, wo ich vorher die Daten des Textes in 1 Longvariablekopiere und die Longvariable darstelle. (allerdings begrenzt auf 32 Bits)
Code:
'-------------------------
'    Portbezeichnungen
'-------------------------

Clock_4017 Alias Portc.0
Reset_4017 Alias Portc.1

Clock_4094 Alias Portb.4
Data_4094 Alias Portb.3
Strobe_4094 Alias Portb.2

Taster_1 Alias Pind.2
'Taster_2 Alias Pind.3

'-------------------------
'  Variabelndeklaration
'-------------------------
Dim Zeile As Byte
Dim Zeichen As Byte

Dim Ausgabe As String * 9
Dim Zeichen_string As String * 9

Dim Ausgabe_overlay As Byte At Ausgabe Overlay
Dim Zeichen_string_overlay As Byte At Zeichen_string Overlay

Dim Anzeige_a(8) As Long
Dim Anzeige_b(8) As Long
'Dim Anzeige_c(8) As Long

Dim Offset As Word
Dim Zeichenlaenge As Byte

Dim I As Byte
Dim Z As Byte
Dim Shiftzaehler As Byte

'-------------------------
' Timer-Configurationen
'-------------------------

On Timer2 Timer_2
Timsk.toie2 = 1                                             'Timer2-Overflow-Interrupt an
Tccr2 = &B00000110                                          'Bits2+1+0=100: Takt 32768Hz/64=512Hz

Enable Interrupts


'-----------------------------------------
'-----------------------------------------
'--------------Hauptprogramm--------------
'-----------------------------------------
'-----------------------------------------

Zeile = 1
Reset_4017 = 1
Clock_4017 = 1

'-----------------------------------------
'   Daten des Strings in Longvariable
'-----------------------------------------

Ausgabe = "TEST"

Zeichenlaenge = Len(ausgabe)

For Z = 1 To 8

   For I = 1 To Zeichenlaenge
      Zeichen_string = Mid(ausgabe , I)

      Offset = Zeichen_string_overlay - 32
      Offset = Offset * 8
      Offset = Offset + Z
      Offset = Offset - 1
      Zeichen = Lookup(offset , Test)

      Anzeige_a(z) = Anzeige_a(z) + Zeichen                 'Zeichen im Long speichern

'Dimensionierung der Zeichenbreite

      If Zeichen_string_overlay = 32 Then
         Shift Anzeige_a(z) , Left , 1
      Elseif Zeichen_string_overlay = 58 Then
         Shift Anzeige_a(z) , Left , 2
      Elseif Zeichen_string_overlay = 33 Or Zeichen_string_overlay = 59 Or Zeichen_string_overlay = 44 Or Zeichen_string_overlay = 46 Then
         Shift Anzeige_a(z) , Left , 3
      Elseif Zeichen_string_overlay = 34 Or Zeichen_string_overlay = 58 Or Zeichen_string_overlay = 73 Then
         Shift Anzeige_a(z) , Left , 4
      Elseif Zeichen_string_overlay = 45 Or Zeichen_string_overlay = 62 Or Zeichen_string_overlay = 70 Or Zeichen_string_overlay = 76 Or Zeichen_string_overlay = 80 Or Zeichen_string_overlay = 74 Or Zeichen_string_overlay = 49 Or Zeichen_string_overlay = 69 Then
         Shift Anzeige_a(z) , Left , 5
      Elseif Zeichen_string_overlay = 81 Then
         Shift Anzeige_a(z) , Left , 7
      Else
         Shift Anzeige_a(z) , Left , 6
      End If

      If I = Zeichenlaenge Then Exit For
   Next I

I = 1

If Z = 8 Then Exit For
Next Z

Anzeige_b(1) = Anzeige_a(1)
Anzeige_b(2) = Anzeige_a(2)
Anzeige_b(3) = Anzeige_a(3)
Anzeige_b(4) = Anzeige_a(4)
Anzeige_b(5) = Anzeige_a(5)
Anzeige_b(6) = Anzeige_a(6)
Anzeige_b(7) = Anzeige_a(7)
Anzeige_b(8) = Anzeige_a(8)

'-------------------------
'       Do-Schleife
'-------------------------
Do

 For Zeile = 1 To 8

  Strobe_4094 = 0
  Shiftout , Data_4094 , Clock_4094 , Anzeige_a(zeile) , 0 , 32
  Strobe_4094 = 1

  Clock_4017 = 0
  Clock_4017 = 1
  If Zeile = 1 Then
  Reset_4017 = 1
  Reset_4017 = 0
  End If
  Waitms 10

 Next Zeile

Loop

End
'--------------------------
'    Timer_2 - Routine
'--------------------------
Timer_2:
 Incr Shiftzaehler
   Shift Anzeige_a(1) , Right
   Shift Anzeige_a(2) , Right
   Shift Anzeige_a(3) , Right
   Shift Anzeige_a(4) , Right
   Shift Anzeige_a(5) , Right
   Shift Anzeige_a(6) , Right
   Shift Anzeige_a(7) , Right
   Shift Anzeige_a(8) , Right

 If Shiftzaehler = 32 Then
   Anzeige_a(1) = Anzeige_b(1)
   Anzeige_a(2) = Anzeige_b(2)
   Anzeige_a(3) = Anzeige_b(3)
   Anzeige_a(4) = Anzeige_b(4)
   Anzeige_a(5) = Anzeige_b(5)
   Anzeige_a(6) = Anzeige_b(6)
   Anzeige_a(7) = Anzeige_b(7)
   Anzeige_a(8) = Anzeige_b(8)

   Shiftzaehler = 0
 End If
Return

'--------------------
'      Datensatz
'--------------------
$data
Test:
Data &B00000000 , &B00000000 , &B00000000 , &B00000000 , &B00000000 , &B00000000 , &B00000000 , &B00000000 ,       'Leerzeichen
Data &B11000000 , &B11000000 , &B11000000 , &B11000000 , &B11000000 , &B00000000 , &B11000000 , &B11000000       '!

Oder ist es besser wenn ich deine Programmidee mit meinen Programm ohne diese Longvariable kombiniere? Hatte es nur mal ausprobieren wollen mit einer Longvariable, weil ich mir dachte, dass man damit leichter das Rein- und Rausshiften hinbekommt.^^ Doch leider bekomme ich mit keiner Methode das Rein- sowie Rausscrollen gleicheitig hin. :(

Liebe Grüße
Kokusnuss
 
Hallo zusammen,

ich wollte nur kurz bescheid geben, dass ich nun Bascom Version 2.0.7.1 habe. :) ;)
Jetzt werde ich erstmal eine paar Dinge ausprobieren. Mal sehen wieviel Erfolg ich haben werde.

Liebe Grüße
Kokusnuss
 
Hallo zusammen,

habe mit der neuen Version das Scrollen realisieren können.;)
Habs erstmal wiefolgt gelöst.
Code:
  Strobe_4094 = 0
  Shiftout , Data_4094 , Clock_4094 , Leerzeile , 0 , 32
  Shiftout , Data_4094 , Clock_4094 , Anzeige_a(zeile) , 0 , X
  Strobe_4094 = 1

Timer_2:

If X < 24 Then Incr X

If Merker = 1 And Y < 32 Then
Incr Y
   Shift Anzeige_a(1) , Left
   Shift Anzeige_a(2) , Left
   Shift Anzeige_a(3) , Left
   Shift Anzeige_a(4) , Left
   Shift Anzeige_a(5) , Left
   Shift Anzeige_a(6) , Left
   Shift Anzeige_a(7) , Left
   Shift Anzeige_a(8) , Left
End If
If Y = 32 Then
   Anzeige_a(1) = Anzeige_b(1)
   Anzeige_a(2) = Anzeige_b(2)
   Anzeige_a(3) = Anzeige_b(3)
   Anzeige_a(4) = Anzeige_b(4)
   Anzeige_a(5) = Anzeige_b(5)
   Anzeige_a(6) = Anzeige_b(6)
   Anzeige_a(7) = Anzeige_b(7)
   Anzeige_a(8) = Anzeige_b(8)
   Merker = 0
   Y = 0
   X = 0
 End If
If X = 24 Then Merker = 1
Return

Zwar noch etwas umständlich und ich hab am Anfang noch komische Zeichen, aber der Ansatz klappt erstmal.^^

Liebe Grüße
Kokusnuss
 
So.
Ich darf nur X nicht auf 0 setzen. Dann kommen auch keine komischen Zeichen am Anfang.
So das Scrollen von Daten aus 1 Longvariable funktioniert also schonmal. Nun versuch ich mich an längeren Informationen.^^
Vielen Dank euch nochmal für die super Hilfe.
Ich hoffe ich kann euch weitehin belästigen, wenn ich Probleme hab? :wink:

Liebe Grüße
Kokusnuss
 
Hallo!

Fein, dass es nun klappt!
Da hat sich das Update doch gelohnt. ;)

Ich habe dein Programm nun nicht durchgesehen, aber wenn du mit NULL bei X Probleme hast....
Vielleicht hilft es dir, wenn du "Config Base = 0" in den Programmkopf aufnimmst.
Damit kannst du bei Arrays auch mit NULL starten.


Grüße und viel Spaß weiterhin,
Cassio
 
Hallo,

mit config base =0 klappt es auch.^^
So hab mal wieder eine total bl.. Anfängerfrage.
Kann man ODER-Verknüpfungen, wie
Code:
If Zeichen_string_overlay = 33 Or Zeichen_string_overlay = 44 Or Zeichen_string_overlay = 46 Or Zeichen_string_overlay = 59 then
irgendwie kürzen, dass man nur einmal die Variable nennen muss und dann einfach nur die Werte zuweist?
Wie z.B. so:
Code:
 If zeichen_string_overlay = 33 , 44 , 46 , 59 then
??:confused:

Lieber Gruß
Kokusnuss
 
Hi,

nein, das geht nicht weil ...

if (1.er Vergleich) oder (2.er Vergleich) oder (3.er Vergleich) then ...

Das war aber bei keiner Programmiersprache möglich mit der ich bis jetzt zu tun hatte.

Gruß
Dino
 
Hallo zusammen!

Doch, dass OR ist aber möglich. ;)

Natürlich kannst du diese Eigenschaften mit OR bzw. AND in einer IF-Bedingung verbinden.
Eigentlich ist aber OR und AND für etwas anderes gedacht und darum sollte man das auch NICHT machen. :cool:

Obendrein geht es mit CASE viel besser, übersichtlicher und schneller! :D

Also, anstatt deine Idee mit:
Code:
If Zeichen_string_overlay = 33 Or Zeichen_string_overlay = 44 Or Zeichen_string_overlay = 46 Or Zeichen_string_overlay = 59 then

nimmst du Case:
Code:
Select Case Zeichen_string_overlay
Case 33 : ....
Case 44 : ......
Case 46 : ........
Case 47 to 55 : ......
Case > 55
   Set LED
   Reset PORTX.Y
Case Else                   'nicht zwingend notwendig!!!
End Select

Alles klar soweit?
Oder schau einfach noch mal in die Hilfe zu CASE !

Grüße,
Cassio
 
Hi Cassio,

Doch, dass OR ist aber möglich. ;)
...
Obendrein geht es mit CASE viel besser, übersichtlicher und schneller! :D
mit CASE hackst du allerdings die eine IF-Abfrage mit Codeblock in viele auseinander.

Er möchte ja den Codeblock hinter then dann ausführen lassen wenn eine der Zahlen vorkommt. Also viele Möglichkeiten sollen einen Codeblock ausführen.

Bei Case ist es ja so das man zu einer Möglichkeit nur einen Codeblock reinsetzen kann. Also nicht ...
Code:
Select Case Zeichen_string_overlay
[B]Case 33, 44, 46, 59[/B]
   Set LED                   'Codeblock zum ausführen
   Reset PORTX.Y
Case Else                   'nicht zwingend notwendig!!!
End Select
Das geht meiner Meinung nach noch nichtmal mit SELECT-CASE.

Gruß
Dino
 
Hallo Dino!

Nun ja, er kann ja immer die selbe "Sprungadresse" nehmen, dann geht es auch mit CASE ! ;)

Code:
Select Case Zeichen_string_overlay
Case 33 : Goto xxx
Case 44 : Goto xxx
Case 46 : Goto xxx
Case 59 : Goto xxx
Case Else : Goto YYY
End Select


xxx:
If X = 0 Then....
Goto Weiter

yyy:
If Y = 0 Then....


Weiter:
CLS
.
.
.


Da kann man dann sogar mal das sonst so verachtete GOTO verwenden.... sofern sich die Sprungziele in der selben Routine (Sub, DO-LOOP) befinden!!!

Grüße,
Cassio
 
Hallo,

Du möchtest wahrscheinlich diese Sequence übersichtlicher gestalten.

Code:
'Dimensionierung der Zeichenbreite

      If Zeichen_string_overlay = 32 Then
         Shift Anzeige_a(z) , Left , 1
      Elseif Zeichen_string_overlay = 58 Then
         Shift Anzeige_a(z) , Left , 2
      Elseif Zeichen_string_overlay = 33 Or Zeichen_string_overlay = 59 Or Zeichen_string_overlay = 44 Or Zeichen_string_overlay = 46 Then
         Shift Anzeige_a(z) , Left , 3
      Elseif Zeichen_string_overlay = 34 Or Zeichen_string_overlay = 58 Or Zeichen_string_overlay = 73 Then
         Shift Anzeige_a(z) , Left , 4
      Elseif Zeichen_string_overlay = 45 Or Zeichen_string_overlay = 62 Or Zeichen_string_overlay = 70 Or Zeichen_string_overlay = 76 Or Zeichen_string_overlay = 80 Or Zeichen_string_overlay = 74 Or Zeichen_string_overlay = 49 Or Zeichen_string_overlay = 69 Then
         Shift Anzeige_a(z) , Left , 5
      Elseif Zeichen_string_overlay = 81 Then
         Shift Anzeige_a(z) , Left , 7
      Else
         Shift Anzeige_a(z) , Left , 6
      End If


Die kannst Du auch folgendermaßen schreiben.
X ist eine Hilfsvariable.

Code:
'Dimensionierung der Zeichenbreite

       Select Case Zeichen_string_overlay
         Case 32 : X = 1
         Case 58 : X = 2                  ' statt 58 kannst Du auch ":" schreiben. (Mit Hochkomma!)
         Case 33 : X = 3                  ' statt 33 kannst Du auch "!" schreiben.
         Case 44 : X = 3                  ' statt 44 kannst Du auch "," schreiben.
         Case 46 : X = 3
         Case 59 : X = 3
         Case 34 : X = 4
         Case 58 : X = 4
         Case 73 : X = 4
         Case 45 : X = 5                  ' statt 45 kannst Du auch "-" schreiben.
         Case 62 : X = 5
         Case 70 : X = 5
         Case 76 : X = 5
         Case 80 : X = 5                  ' statt 80 kannst Du auch "P" schreiben.
         Case 74 : X = 5
         Case 49 : X = 5
         Case 69 : X = 5
         Case 81 : X = 7
         Case Else : X = 6
       End Select
         Shift Anzeige_a(z) , Left , x

LG
 
DAs GOTO bleibt trotzdem unelegant. Da gibt es immer eine Lösung. Ich verwende diesen Befehl nicht mehr, seit es das GfA- Basic gibt. Das war...hmmm...1987 / 88?
 
DAs GOTO bleibt trotzdem unelegant.

Hallo Michael!

Nun ja... bei ASM regt sich ja auch keiner über "rjmp" auf.... im Gegenteil. ;)
Ich verwende GOTO aber eigentlich auch nicht. :cool:

TrueNeo wird mit seiner Vermutung aber schon richtig liegen.
Es geht bestimmt darum, bei bestimmten Ziffern die "Shiftweite" vorzugeben.
Ich mag aber in letzter Zeit nicht "Hellsehen" !
Darum würde ich die Frage auch nur locker mit Ja beantworten wenn mich einer fragt, ob er sich etwas brechen kann wenn er vom Dach springt. :cool:

Grüße,
Cassio
 

Über uns

  • Makerconnect ist ein Forum, welches wir ausschließlich für einen Gedankenaustausch und als Diskussionsplattform für Interessierte bereitstellen, welche sich privat, durch das Studium oder beruflich mit Mikrocontroller- und Kleinstrechnersystemen beschäftigen wollen oder müssen ;-)
  • Dirk
  • Du bist noch kein Mitglied in unserer freundlichen Community? Werde Teil von uns und registriere dich in unserem Forum.
  •  Registriere dich

User Menu

 Kaffeezeit

  • Wir arbeiten hart daran sicherzustellen, dass unser Forum permanent online und schnell erreichbar ist, unsere Forensoftware auf dem aktuellsten Stand ist und der Server regelmäßig gewartet wird. Auch die Themen Datensicherheit und Datenschutz sind uns wichtig und hier sind wir auch ständig aktiv. Alles in allem, sorgen wir uns darum, dass alles Drumherum stimmt :-)

    Dir gefällt das Forum und unsere Arbeit und du möchtest uns unterstützen? Unterstütze uns durch deine Premium-Mitgliedschaft!
    Wir freuen uns auch über eine Spende für unsere Kaffeekasse :-)
    Vielen Dank! :ciao:


     Spende uns! (Paypal)