da wär ich auch dran interessiert also falls du schon irgendwas neues weist melde dich plz
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
da wär ich auch dran interessiert also falls du schon irgendwas neues weist melde dich plz
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...Zitat von Dino Dieter
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.
Das Problem liegt nicht am AVR sondern bei VB.Zitat von Dino Dieter
Übertragungsgeschwindigkeit bei 19200Baud...
Tschuldigung, vergessen mich einzuloggen
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
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 klempnernZitat von Dino Dieter
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.
Wirklich? Sag mal welche...Zitat von Dino Dieter
Gruß, Sonic
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
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 ;-(Zitat von Anonymous
Gruß, Sonic
Lesezeichen