mikrocontroller.net

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


Autor: Robin Tönniges (rotoe) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht 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.

Autor: Philipp Burch (philipp_burch)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
CInt() oder sowas vielleicht?

Autor: Robin Tönniges (rotoe) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Funktioniert leider nicht. Dann gibt der Compiler ne Fehlermeldung raus.

Autor: Rolf Im forum (for_ro)
Datum:

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

Mit Integer=Val(String) sollte es gehen.

Gruß

Rolf

Autor: Robin Tönniges (rotoe) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hier mal der Code:
$regfile "m8def.dat"
$crystal = 8000000
$baud = 9600
Config Portb.1 = Output
Config Portb.2 = Output
Config Portb.3 = Output
Config Timer1 = Pwm , Pwm = 8 , Compare A Pwm = Clear Down , Compare B Pwm = Clear Down , Prescale = 1
Config Timer2 = Pwm , Pwm = On , Compare Pwm = Clear Up , Prescale = 1
Dim Wert As String * 20                                     'Die Variable wo der Eingelesene Wert vom UART reinkommt
Dim Farbe(3) As String * 20                                 'Das Array mit den durch SPLIT einzelnen Farben
Dim Rot As Integer                                          'Die Farben als Integer wo die String rein sollen
Dim Gruen As Integer
Dim Blau As Integer
Dim Bcount As Byte

Print "RGB-LED Farbwechsler von Robin T."
Print "Verbindung hergestellt"
Do
  Input "" , Wert                                           'Hier wird der UART gelesen
  Bcount = Split(wert , Farbe(1) , ".")                     'Hier wird der eingelesene String in 3 Teile nämlich R, G und B gesplittet
  Rot = Cint(farbe(1))                                      'Die Versuche einen String in ein Integer zu konvertieren
  Gruen = Cint(farbe(2))
  Blau = Cint(farbe(3))
  Compare1a = Rot                                           'Die PWM Kanäle
  Compare1b = Gruen
  Compare2 = Blau
Loop
End

Autor: Robin Tönniges (rotoe) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hups. Hat schon wer geantwortet. Mom ich probiers aus

Autor: Robin Tönniges (rotoe) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht 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

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.