- Labornetzteil AliExpress         
Seite 1 von 2 12 LetzteLetzte
Ergebnis 1 bis 10 von 14

Thema: Zeichen an die RS232 senden

  1. #1
    Erfahrener Benutzer Fleißiges Mitglied
    Registriert seit
    14.08.2004
    Ort
    Magdeburg
    Beiträge
    154

    Zeichen an die RS232 senden

    Anzeige

    Powerstation Test
    Hallo,


    ich möchte Zeichen über die RS232 am RNControl ausgeben.
    Ich habe am TX und RX ein Wlan Module angeschlossen.

    Jetzt muss ich um in den Datenmodus zu kommen +++ senden aber jedes Zeichen mit 500 ms verzögert.
    Drei mal Print "+“ mit eine Pause von 500ms geht nicht, weil die Zeichen dann nicht in einer Zeile stehen.

    Wie kann ich das machen, dass ich die Zeichen in einen Buffer schreibe und dann ausgebe?

    Dank vorab

    uwe

  2. #2
    Super-Moderator Robotik Visionär Avatar von PicNick
    Registriert seit
    23.11.2004
    Ort
    Wien
    Beiträge
    6.842
    Wenn ich das richtig verstehe, mußt du den Print mit semikolon (strichpunkt) abschließen, sonst fügt er einen Zeilenvorschub ein

    PRINT "+";
    watims 500
    PRINT "+";
    watims 500
    PRINT "+";
    watims 500
    mfg robert
    Wer glaubt zu wissen, muß wissen, er glaubt.

  3. #3
    Erfahrener Benutzer Fleißiges Mitglied
    Registriert seit
    12.02.2006
    Beiträge
    164
    sagt mal, ich will auch über tx/rx senden, reicht da einfach print ???
    muss ich da nix konfigurieren oder sowas?

    das klingt mir zu einfach

    ich will mit 9600 baud über einen angeschlossenen rs485 senden, müsste ja das gleiche sein wie bei RS232 ...

    (hab nen 8515 mit 11,059mhz)

  4. #4
    Erfahrener Benutzer Fleißiges Mitglied
    Registriert seit
    14.08.2004
    Ort
    Magdeburg
    Beiträge
    154
    Hallo Robert,


    das mit dem Semikolon funzt.
    Aber mein Wlan Module erkennt es nicht als Steuerzeichen.
    Er versendet keine Mail wie er sollte




    Hier mal mein Code
    Code:
    $regfile = "m32def.dat"
    $crystal = 16000000                                         'Quarzfrequenz
    $baud = 9600
    
    
    
    Print "  TEST <cr><lf>"
    Wait 1
    Print "+";
    Waitms 500
    Print "+";
    Waitms 500
    Print "+ ";
    Waitms 500
    Print "<cr>";
    Waitms 500
    Print " <lf>"
    
    Wait 2
    
    
    Print "a";
    Waitms 500
    Print "t";
    Waitms 500
    Print "+";
    Waitms 500
    Print "s";
    Waitms 500
    Print "h";
    Waitms 500
    Print "o";
    Waitms 500
    Print "r";
    Waitms 500
    Print "t";
    Waitms 500
    Print "m";
    Waitms 500
    Print "a";
    Waitms 500
    Print "i";
    Waitms 500
    Print "l";
    Waitms 500
    Print " ";
    Waitms 500
    Print " T";
    Waitms 500
    Print " e";
    Waitms 500
    Print " s";
    Waitms 500
    Print " t";
    Waitms 500
    Print " <CR>";
    Waitms 500
    Print "<lf>";
    
    
     Wait 60

    mfg
    Uwe

  5. #5
    Super-Moderator Robotik Visionär Avatar von PicNick
    Registriert seit
    23.11.2004
    Ort
    Wien
    Beiträge
    6.842
    @Veit: Wenn du beim Bascom $BAUD=nnnn schreibst, konfigiert er die UART komplett. da brauchst du sonst nix spezielles zu machen.
    ($crystal==xxx und die Fuses müssen natürlich stimmen)

    @Uwe: Ich kenn das Modul leider nicht. aber wenn du <CR> und <LF> schicken willst, solltest du sagen
    PRINT
    und sonst nix, Bascom schick da beides elektrisch.

    (" <CR>" ist ein Text, mit dem wird er wohl nix anfangen)
    mfg robert
    Wer glaubt zu wissen, muß wissen, er glaubt.

  6. #6
    Erfahrener Benutzer Fleißiges Mitglied
    Registriert seit
    14.08.2004
    Ort
    Magdeburg
    Beiträge
    154
    Hallo Robert,


    Ich gebe doch die Zeichen <cr> und <lf> mit Print aus


    mfg
    uwe

  7. #7
    Super-Moderator Robotik Visionär Avatar von PicNick
    Registriert seit
    23.11.2004
    Ort
    Wien
    Beiträge
    6.842
    <cr>
    das sind vier Zeichen, Kollege.

    Ein "echtes" CR ist EIN byte mit dem Inhalt "&H0D"
    Ein "echtes" LF ist EIN byte mit dem Inhalt "&H0A"

    Schreib das so:
    ...
    Print " t";
    Waitms 500
    Print
    mfg robert
    Wer glaubt zu wissen, muß wissen, er glaubt.

  8. #8
    Erfahrener Benutzer Fleißiges Mitglied
    Registriert seit
    14.08.2004
    Ort
    Magdeburg
    Beiträge
    154
    Hallo Robert,

    das verstehe ich nicht....

    ich möchte das hier ausgeben:
    Um in den Befehlsmodus zu kommen gebe ich das aus.
    +++ <cr><lf>

    dann zum mail senden
    at+shortmail TEST <cr><lf>

    wie muss das dann aussehen?


    mfg
    uwe

  9. #9
    Super-Moderator Robotik Visionär Avatar von PicNick
    Registriert seit
    23.11.2004
    Ort
    Wien
    Beiträge
    6.842
    Das gewurstel ist ja nur, weil zwischen den "+" offenbar 500mS verstreichen sollen.
    Der Teil wäre dann so:
    Code:
    PRINT "+"; 
    watims 500 
    PRINT "+"; 
    watims 500 
    PRINT "+"; 
    watims 500
    PRINT
    Da ich nicht glaube (?), daß er die 500 mS sonst auch immer braucht, würde ich dann probieren, ganz einfach
    Code:
     PRINT "AT+SHORTMAIL TEST"
    (die kontrollzeichen fügt der Bascom selber ein)

    probier's einfach mal

    Das Modul an ein Terminal hängen zum gucken geht wohl nicht ?
    (nach +++ sollt' er eigentlich eine Antwort geben, glaub ich mich zu erinnern)
    mfg robert
    Wer glaubt zu wissen, muß wissen, er glaubt.

  10. #10
    Erfahrener Benutzer Fleißiges Mitglied
    Registriert seit
    14.08.2004
    Ort
    Magdeburg
    Beiträge
    154
    Hallo Robert,

    Das habe ich schon so probiert.
    die 500 ms bei den + zeichen sind immer notwendig.
    Es kommt auch eine Antwort auf disese ich 2 Sekunden warte.
    Ich habe einen Terminal angschlossen.
    Wenn ich das PRINT ausführe dann lese ich nur ein "LF" KEIN "CR".

    Dieses Module ist es.
    http://<br /> <a href="http://www.a...html</a><br />
    mfg
    uwe

Seite 1 von 2 12 LetzteLetzte

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •  

12V Akku bauen