-
        

+ Antworten
Seite 1 von 2 12 LetzteLetzte
Ergebnis 1 bis 10 von 12

Thema: Befehle über RS232 interpretieren

  1. #1
    Erfahrener Benutzer Roboter Genie
    Registriert seit
    24.04.2004
    Ort
    Karlsruhe
    Alter
    38
    Beiträge
    1.277

    Befehle über RS232 interpretieren

    Anzeige

    Hallo Leute,

    ich möchte mit einem VB-Programm Befehlsstrings an meinen AT90S4433 senden, welcher dieser dann interpretieren soll.
    Bin eigentlich recht weit.

    Ich frage die uC-RS232-Schnittstelle per Interrupt ab, aber in der Zeit in der der uC den String interpretieren soll, gehen Zeichen verloren, da der PC einfach weiter sendet.

    Eine beidseitige Flusskontrolle ist gescheitert, aber ich weiß nicht genau warum.

    Hat jemand nen kurzen Codeschnippsel in Bascom bzw. VB?
    Wäre nett,

    Gruß,
    Chris

  2. #2
    Erfahrener Benutzer Roboter-Spezialist
    Registriert seit
    16.11.2003
    Beiträge
    355
    da wär ich auch dran interessiert also falls du schon irgendwas neues weist melde dich plz

  3. #3
    Erfahrener Benutzer Roboter-Spezialist
    Registriert seit
    28.04.2004
    Ort
    Nähe Köln
    Alter
    50
    Beiträge
    247
    Hallo Sonic

    Schau dir doch mal CONFIG SERIALIN an. Sollte dich weiter bringen.

    Ansonsten muß man das inder INT. Routine von Hand programmieren.
    Wie schnell und wieviele Bytes willst du denn übertragen. RS232 ist doch für einen AVR eine recht langsame Sache.

    MFG
    Dieter

  4. #4
    Gast
    Zitat Zitat von Dino Dieter
    Hallo Sonic
    Schau dir doch mal CONFIG SERIALIN an. Sollte dich weiter bringen.
    Ne, bringt mich nicht weiter... ich will (fast) das gesamte EEPROM mit Daten füllen. So nen großen Puffer will ich da nicht nutzen müssen...

    Das einzige was mich weiterbringt ist das Senden der Daten am PC zu verlangsamen. Idealerweise indem der wartet bis der uC sein OK gibt.
    (Mit dem abarbeiten des Befehls fertig ist).

    Im Moment mach ich das mit einem Timer. Bei 10ms/pro Befehl läuft das Ganze einwandfrei.

    Nur eine Flusskontrolle bring ich nicht zustande.
    VB unterscheidet nicht nicht zwischen Senden und Empfangen.
    OnComm löst bei jeglichem Datenverkehr aus.

    Zitat Zitat von Dino Dieter
    Ansonsten muß man das inder INT. Routine von Hand programmieren.
    Wie schnell und wieviele Bytes willst du denn übertragen. RS232 ist doch für einen AVR eine recht langsame Sache.
    Das Problem liegt nicht am AVR sondern bei VB.
    Übertragungsgeschwindigkeit bei 19200Baud...

  5. #5
    Erfahrener Benutzer Roboter Genie
    Registriert seit
    24.04.2004
    Ort
    Karlsruhe
    Alter
    38
    Beiträge
    1.277
    Tschuldigung, vergessen mich einzuloggen

  6. #6
    Erfahrener Benutzer Roboter-Spezialist
    Registriert seit
    28.04.2004
    Ort
    Nähe Köln
    Alter
    50
    Beiträge
    247
    Hallo

    Aber du solltest doch in VB CTS oder RTS abfagen können. Die kannst du doch bei AVR auf einen Pin legen und in der INT bedienen.

    Ansonsten mußt du vielleicht eine andere DLL nehmen die das kann. Davon gibt es doch genug.

    MFG
    Dieter

  7. #7
    Erfahrener Benutzer Roboter Genie
    Registriert seit
    24.04.2004
    Ort
    Karlsruhe
    Alter
    38
    Beiträge
    1.277
    Zitat Zitat von Dino Dieter
    Hallo

    Aber du solltest doch in VB CTS oder RTS abfagen können. Die kannst du doch bei AVR auf einen Pin legen und in der INT bedienen.
    Jo, schon. Allerdings hab ich die UART vom AVR ohne CTS/RTS-Leitung angeschlossen. Also nur TXD/RXD. Mein Board funktioniert jetzt endlich und eigentlich hab ich nicht schon wieder Lust ne neue Platine zu klempnern

    ABER ob der uC nun nen Pin setzt oder ob er ein OK sendet sollte doch eigentlich egal sein.

    Das Problem liegt wirklich auf der VB-Seite:

    In VB+MSCOMM32.OCX wird bei Aktivität der RS232 das OnComm-Event ausgelöst. Dabei unterscheidet VB aber nicht zwischen Senden und Empfangen. Also kann ich das OnComm-Event vergessen.

    Um den Zustand des uC abzufragen MUSS ich entweder ne while schleife solange ausführen bis "ok" empfangen wurde, oder ein Event auslösen wenn "ok" empfangen wird

    Die Schleife ist sch.... weil der PC in der Zeit nix anderes mehr macht.
    Mit Events kenn ich mich überhaupt noch nicht aus.

    Deswegen wäre es ja cool wenn jemand ein passendes VB-Beispiel hätte.

    Zitat Zitat von Dino Dieter
    Ansonsten mußt du vielleicht eine andere DLL nehmen die das kann. Davon gibt es doch genug.
    MFG
    Dieter
    Wirklich? Sag mal welche...

    Gruß, Sonic

  8. #8
    Erfahrener Benutzer Roboter-Spezialist
    Registriert seit
    28.04.2004
    Ort
    Nähe Köln
    Alter
    50
    Beiträge
    247
    Hallo Sonic

    Schau mal hier.
    http://www.b-kainka.de/msrwin.htm

    Habe die RS232 mal mit Excel angesprochen, ist zwar schon was her, ging aber ohne Probleme. RSAPI.dll

    MFG
    Dieter

  9. #9
    Gast
    Hallo Sonic,

    hast Du dieses Problem noch ?


    Gruss
    Joachim

  10. #10
    Erfahrener Benutzer Roboter Genie
    Registriert seit
    24.04.2004
    Ort
    Karlsruhe
    Alter
    38
    Beiträge
    1.277
    Zitat Zitat von Anonymous
    Hallo Sonic,
    hast Du dieses Problem noch ?
    Gruss
    Joachim
    Ja, aber ich hab schon längere Teit nicht mehr drann weiter gemacht weil ich die ganze Zeit gebüffelt habt ;-(

    Gruß, Sonic

+ Antworten
Seite 1 von 2 12 LetzteLetzte

Berechtigungen

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