Das deutsche QBasic- und FreeBASIC-Forum Foren-Übersicht Das deutsche QBasic- und FreeBASIC-Forum
Für euch erreichbar unter qb-forum.de, fb-forum.de und freebasic-forum.de!
 
FAQFAQ   SuchenSuchen   MitgliederlisteMitgliederliste   BenutzergruppenBenutzergruppen  RegistrierenRegistrieren
ProfilProfil   Einloggen, um private Nachrichten zu lesenEinloggen, um private Nachrichten zu lesen   LoginLogin
Zur Begleitseite des Forums / Chat / Impressum
Aktueller Forenpartner:

Auswerung von RS232 - Signalen
Gehe zu Seite Zurück  1, 2
 
Neues Thema eröffnen   Neue Antwort erstellen    Das deutsche QBasic- und FreeBASIC-Forum Foren-Übersicht -> Allgemeine Fragen zu FreeBASIC.
Vorheriges Thema anzeigen :: Nächstes Thema anzeigen  
Autor Nachricht
MisterD



Anmeldungsdatum: 10.09.2004
Beiträge: 3071
Wohnort: bei Darmstadt

BeitragVerfasst am: 21.11.2010, 15:27    Titel: Antworten mit Zitat

der vorschlag würde auch nur funktionieren, wenn das programm jedes zeichen einzeln empfängt. Tuts aber nicht.
_________________
"It is practically impossible to teach good programming to students that have had a prior exposure to BASIC: as potential programmers they are mentally mutilated beyond hope of regeneration."
Edsger W. Dijkstra
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
nemored



Anmeldungsdatum: 22.02.2007
Beiträge: 4704
Wohnort: ~/

BeitragVerfasst am: 21.11.2010, 16:27    Titel: Antworten mit Zitat

Das Leerzeichen ist hexadezimal 20 (&h20), was dem Dezimalwert 32 entspricht.
_________________
Deine Chance beträgt 1:1000. Also musst du folgendes tun: Vergiss die 1000 und konzentriere dich auf die 1.
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
MisterD



Anmeldungsdatum: 10.09.2004
Beiträge: 3071
Wohnort: bei Darmstadt

BeitragVerfasst am: 21.11.2010, 19:14    Titel: Antworten mit Zitat

stimmt ebenfalls. Schon zwei punkte warums nicht klappt grinsen
_________________
"It is practically impossible to teach good programming to students that have had a prior exposure to BASIC: as potential programmers they are mentally mutilated beyond hope of regeneration."
Edsger W. Dijkstra
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Sippo



Anmeldungsdatum: 17.04.2008
Beiträge: 125

BeitragVerfasst am: 21.11.2010, 19:17    Titel: Antworten mit Zitat

umfasst denn der eingangsspeicher der RS232 schnittstelle mehr als 1 Byte das mit dem input befehl ausgelesen wird?
und wie viele zeichen werden denn da auf ein mal eingelesen bzw. wie kann ich nur eins einlesen?

MfG Sippo
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
MisterD



Anmeldungsdatum: 10.09.2004
Beiträge: 3071
Wohnort: bei Darmstadt

BeitragVerfasst am: 21.11.2010, 19:25    Titel: Antworten mit Zitat

einzelne bis potentiell ziemlich viele vermute ich mal. Ist eigentlich ja auch völlig egal, der INPUT befehl hat die möglichkeit beliebig langer ergebnisse, also sollte man sein programm entsprechend schreiben. Solang nicht irgendwo explizit steht "kann nur x sein" sollte man mit allem rechnen.
_________________
"It is practically impossible to teach good programming to students that have had a prior exposure to BASIC: as potential programmers they are mentally mutilated beyond hope of regeneration."
Edsger W. Dijkstra
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Sippo



Anmeldungsdatum: 17.04.2008
Beiträge: 125

BeitragVerfasst am: 21.11.2010, 20:13    Titel: Antworten mit Zitat

kann man denn nicht mit nur je ein Zeichen einlesen?

MfG Sippo
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
nemored



Anmeldungsdatum: 22.02.2007
Beiträge: 4704
Wohnort: ~/

BeitragVerfasst am: 21.11.2010, 20:17    Titel: Antworten mit Zitat

Mit INPUT(1, #nr) liest du ein Zeichen, mit INPUT #nr alles, was so anliegt, bis zum nächsten Stoppzeichen.
_________________
Deine Chance beträgt 1:1000. Also musst du folgendes tun: Vergiss die 1000 und konzentriere dich auf die 1.
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Sippo



Anmeldungsdatum: 17.04.2008
Beiträge: 125

BeitragVerfasst am: 21.11.2010, 20:26    Titel: Antworten mit Zitat

dieses Stoppzeichen wäre beispielsweise ein zeilenumbruch? also CRLF? also 0x0D bzw. 13?

MfG Sippo
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
nemored



Anmeldungsdatum: 22.02.2007
Beiträge: 4704
Wohnort: ~/

BeitragVerfasst am: 21.11.2010, 20:56    Titel: Antworten mit Zitat

Zeilenumbruch oder Komma. Ich weiß aber nicht, ob das bei OPEN COM exakt genauso ist; meine Erfahrungen beschrängen sich auf Dateizugriffe.

0x0D ist übrigens nur der CR-Teil des CRLF. Was genau da jetzt bei dir als Zeilenende interpretiert wird, weiß ich nicht.
_________________
Deine Chance beträgt 1:1000. Also musst du folgendes tun: Vergiss die 1000 und konzentriere dich auf die 1.
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Sippo



Anmeldungsdatum: 17.04.2008
Beiträge: 125

BeitragVerfasst am: 21.11.2010, 21:09    Titel: Antworten mit Zitat

ich habe nun die Zeit der Verzögerung erhöht, da der PC das Programm so schnell abarbeitete, dass gar keine 4 zeichen empfangen waren bevor ich diese wieder auslas. Nun ist die verzögerung länger und die zeichen stimmen soweit ich das bisher gesehen habe.

Code:
SCREEN 19

Dim temp As string
dim wert as string
dim kont as integer
dim zahl as integer
dim spalte as integer
dim zeile as integer

Open Com "COM1: 9600, N, 8, 1,cs0,ds0,cd0,rs" As #1
OPEN "empfang.txt" FOR APPEND AS #2

   
Do
    input #1, temp
    WRITE #2, temp
    locate zeile, spalte
    print temp
    zeile = zeile + 1
    if zeile = 30 then
        zeile = 0
        spalte = spalte + 6
    end if
    if spalte > 100 then
        spalte = 0
        cls
    end if
    sleep 5
loop Until Inkey$ = Chr$(27) 
close #1
CLOSE #2
End


MfG Sippo
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
funkeld
gesperrt


Anmeldungsdatum: 10.10.2009
Beiträge: 179

BeitragVerfasst am: 23.11.2010, 14:39    Titel: Antworten mit Zitat

kannste mal dein programm vom micro zeigen, was du da für ein salat sendest. ist es bascom oder winavr?

gruss
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Beiträge der letzten Zeit anzeigen:   
Neues Thema eröffnen   Neue Antwort erstellen    Das deutsche QBasic- und FreeBASIC-Forum Foren-Übersicht -> Allgemeine Fragen zu FreeBASIC. Alle Zeiten sind GMT + 1 Stunde
Gehe zu Seite Zurück  1, 2
Seite 2 von 2

 
Gehe zu:  
Du kannst keine Beiträge in dieses Forum schreiben.
Du kannst auf Beiträge in diesem Forum nicht antworten.
Du kannst deine Beiträge in diesem Forum nicht bearbeiten.
Du kannst deine Beiträge in diesem Forum nicht löschen.
Du kannst an Umfragen in diesem Forum nicht mitmachen.

 Impressum :: Datenschutz