Forum: Mikrocontroller und Digitale Elektronik BASCOM - String nach Integer konvertieren


von Robin T. (rotoe) Benutzerseite


Lesenswert?

Hallo Leute,

Ich habe ein kleines Problem mit Bascom.

Unzware habe ich mittels "Split" ein String vom Uart aufgeteilt.
Wenn ich die Teile jetzt auf das Compare1a und 1b Register gebe
funktioniert natürlich nichts. Er kompilliert es zwar aber es 
funktioniert nicht weil compare nunmal Integer haben möchte.

Meine Frage: Wie kann ich einen String nach Integer Konvertieren.

von Philipp B. (philipp_burch)


Lesenswert?

CInt() oder sowas vielleicht?

von Robin T. (rotoe) Benutzerseite


Lesenswert?

Funktioniert leider nicht. Dann gibt der Compiler ne Fehlermeldung raus.

von Rolf I. (for_ro)


Lesenswert?

Robin Tönniges wrote:
>
> Meine Frage: Wie kann ich einen String nach Integer Konvertieren.

Mit Integer=Val(String) sollte es gehen.

Gruß

Rolf

von Robin T. (rotoe) Benutzerseite


Lesenswert?

Hier mal der Code:
1
$regfile "m8def.dat"
2
$crystal = 8000000
3
$baud = 9600
4
Config Portb.1 = Output
5
Config Portb.2 = Output
6
Config Portb.3 = Output
7
Config Timer1 = Pwm , Pwm = 8 , Compare A Pwm = Clear Down , Compare B Pwm = Clear Down , Prescale = 1
8
Config Timer2 = Pwm , Pwm = On , Compare Pwm = Clear Up , Prescale = 1
9
Dim Wert As String * 20                                     'Die Variable wo der Eingelesene Wert vom UART reinkommt
10
Dim Farbe(3) As String * 20                                 'Das Array mit den durch SPLIT einzelnen Farben
11
Dim Rot As Integer                                          'Die Farben als Integer wo die String rein sollen
12
Dim Gruen As Integer
13
Dim Blau As Integer
14
Dim Bcount As Byte
15
16
Print "RGB-LED Farbwechsler von Robin T."
17
Print "Verbindung hergestellt"
18
Do
19
  Input "" , Wert                                           'Hier wird der UART gelesen
20
  Bcount = Split(wert , Farbe(1) , ".")                     'Hier wird der eingelesene String in 3 Teile nämlich R, G und B gesplittet
21
  Rot = Cint(farbe(1))                                      'Die Versuche einen String in ein Integer zu konvertieren
22
  Gruen = Cint(farbe(2))
23
  Blau = Cint(farbe(3))
24
  Compare1a = Rot                                           'Die PWM Kanäle
25
  Compare1b = Gruen
26
  Compare2 = Blau
27
Loop
28
End

von Robin T. (rotoe) Benutzerseite


Lesenswert?

Hups. Hat schon wer geantwortet. Mom ich probiers aus

von Robin T. (rotoe) Benutzerseite


Lesenswert?

Juhu! Es funktioniert. Bis auf ein kleinen Manko das immer nur eine 
Farbe schnell und schön gesteuert werden kann. Bei 2 oder 3 flackern die 
anderen. Aber das sit erstmal egal. Das gefragte ist gelöst.

Danke

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.