Hi,

im Wiki gibts ja folgende Code um Zahlen an den SAA1064 zu schicken:

Code:
Sub Led_display(ziffer An Byte , Zahl As Byte)
     I2cstart
     I2cwbyte Rn_digi_slave_write
     I2cwbyte Ziffer

     Select Case Zahl
         Case 0:
               Segmente = &H3F
         Case 1:
                Segmente = &H06
         Case 2:
                Segmente = &H5B
         Case 3:
                Segmente = &H4F
         Case 4:
                Segmente = &H66
         Case 5:
                Segmente = &H6D
         Case 6:
                Segmente = &H7D
         Case 7:
                Segmente = &H07
         Case 8:
                Segmente = &H7F
         Case 9:
                Segmente = &H67

     End Select

     I2cwbyte Segmente
     I2cstop
End Sub
Damit lässt sich ja auf dem Segment ZifferX die ZahlX von 0-9 ausgeben.

Ich habe die Schaltung mit 2 Segmenten aufgebaut nicht mit 4. Ich würde jetzt das ganze gerne so abändern, das ich eine Zahl von 0-99 an die Funktion übergeben kann und die Zahl dann direkt ausgegeben werden kann.

Allerdings hab ich in Bascom noch nie mit funktionen gearbeitet und mir ist auch noch nicht ganz klar wie sich das umsetzen lässt.

In einer Delphi Pc Software hätte ich das gaze jetzt so realisiert das die Zahl als String übergeben wird und der String mit einer maximalen Länge von 2 (01-99) dann in der funktion beim Beispiel von 23 in Wert1 = 2 und Wert2 = 3 geteilt wird, dann wieder zurück in ein integer gewandelt und dann einzeln übergeben.

Lässt sich das so auch irgendwie in Bascom realisieren ?

mfg Yannic