hallo, kann mir bitte vieleicht jemand weiter helfen. ich habe erst vor kurzem angefangen mit bascom zu programmieren. jetzt habe ich ein kleine programm geschrieben was ich mit einen 2313 nicht Compilieren kann. sobald ich einen mega8 definiere funktioniert es. und zwar hängt es an dem befehl: Ucsra hier mein code Hauptschleife: Do If Ucsra.rxc = 1 Then 'Ein Byte vollständig empfangen I = Udr 'Byte aus der USART auslesen Select Case I Case "3139988148" Gosub Tuere_oeffnen Case "2851976404" Gosub Tuere_oeffnen Case Else Goto Falsch End Select End If Loop
nene, der fehler hängt ganz wo anders.
Du empfängst ein Zeichen im UDR-Register, das ist ein Zahlenwert von
einem (!) Byte, also von 0 bis 255 (siehe ASCII, entsprich einem
Zeichen) und vergleichst mit einem String, einer Zeichenkette,
("3139988148") von 10 Zeichen, also 10 Bytes, das geht nicht.
kann sein das rxc-bit ist in der def nicht definiert, probiers mal mit
Ucsra.7
aber das wird dennoch nicht funktionieren
Ach so, eins noch ... vermeide goto, gerade als Einsteiger, Wenn Dein
Programm wächst wird das herumspringen mit goto schnell unübersichtlich.
Was hätte ich noch für möglichkeit diesen string auszuwerten? ich habe das problem, dass ich strings mit 9 und 10 zeichen bekomme. vorerst vielen dank!
F.Markus schrieb: > Was hätte ich noch für möglichkeit diesen string auszuwerten? > ich habe das problem, dass ich strings mit 9 und 10 zeichen bekomme. > > vorerst vielen dank! Ein String aus, sagen wir mal 10 Zeichen, besteht aus 10 Bytes. Jedes Byte entspricht dem ASCII Wert für ein Zeichen. Bei dir für eine Ziffer (0-9). Willst du also einen String mit 10 Zeichen seriell empfangen, musst du 10 Bytes lesen und diese dann hintereinander speichern und als String interpretieren. Wie das in Bascom geht kann ich dir nicht sagen. Ich benutze kein Bascom. Du brauchst also wohl auch noch einen Begrenzer um festzustellen wieviele Bytes du lesen musst. Oft ist das ein Return oder Wagenrücklauf (dezimal 10 bzw. 13). Aber das kommt auf deinen Sender an. Woher kommen denn diese Strings? Wer sendet sie? gruß cyblord
die zeichen kommen von einen rfid mifare lesemodul am schluss kommt ein CR also 9 oder 10 zeichen und ein CR. ich habe im netzt nicht wirklich nützliche programme gefunden was das so verarbeiten.
F.Markus schrieb: > die zeichen kommen von einen rfid mifare lesemodul am schluss kommt ein > CR also 9 oder 10 zeichen und ein CR. Na also dann ist es ja einfach. Du liest die Zeichen so lange ein bis du ein CR empfängst. > ich habe im netzt nicht wirklich nützliche programme gefunden was das so > verarbeiten. Aha. Wie meinen?
danke für die infos. aber ich weiß immer noch nicht wie ich mein problem lösen kann. da mein englisch nicht so gut ist tu ich mich auch mit hilfe im bascom schwer. hat von euch wer die bücher von marius meißner oder vom roland walter? was würdet ihr mir für eines empfehlen?
F.Markus schrieb: > danke für die infos. aber ich weiß immer noch nicht wie ich mein problem > lösen kann. Programmieren lernen. Im besten Fall eine bessere Sprache als Bascom Basic, aber zur Not geht auch das. > da mein englisch nicht so gut ist tu ich mich auch mit hilfe > im bascom schwer. Englisch lernen, da kommst du leider nicht drumrum. Wie gedenkst du sonst Datenblätter zu lesen? Auf ne Übersetzung warten? Sorry das läuft so nicht.
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.