Blamaster
21.11.2009, 15:33
Hi,
im Wiki gibts ja folgende Code um Zahlen an den SAA1064 zu schicken:
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
im Wiki gibts ja folgende Code um Zahlen an den SAA1064 zu schicken:
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