Genau das tut er, wenn ihn nicht ein Hardwarehandshake daran hindert.Oder sendet der Printbefehl dies ohne zu achten ob jemand empfängt?
Wie lange nach dem Printbefehl kann ich mit inkey oder inputbin die Daten empfangen? Oder sendet der Printbefehl dies ohne zu achten ob jemand empfängt?
Genau das tut er, wenn ihn nicht ein Hardwarehandshake daran hindert.Oder sendet der Printbefehl dies ohne zu achten ob jemand empfängt?
mfg robert
Wer glaubt zu wissen, muß wissen, er glaubt.
genau darum ist es wichtig, das der Gegenpart empfangsbereit
und der Bus frei ist.
Vor den Erfolg haben die Götter den Schweiß gesetzt
also werde ich doch einen Mega8 als Inerfacecontroller verwenden, der immer auf empfangen ist und wenn die Adresse vom jeweiligen Slave genannt wird, soll der Master kurz warten und der Slave in eine Sub rein springen. Das müsste doch so funktionieren oder.
Es sollte auch ohne einen Interface Prozessor funktionieren ... zumal es recht wiedersinnig ist einen Mikrocontroller zu verwenden um ein Käfergrab zu vermeiden um anschließend das Käfergrab mit weiteren Mikrocontrollern neu zu eröffnen ...
ist zwar etwas überdimensioniert, aber kannste so durchaus machen ...
ob Deine Anwendung so zeitkritisch ist weißt nur Du alleine.
Vor den Erfolg haben die Götter den Schweiß gesetzt
Naja ... eine Anmerkung hab ich allerdings noch:
Zeitkritisch und Basic schliesst sich irgendwie etwas aus .... aber das ist wohl Ansichtssache.
Ich denke mal, diese Ganze scache dürfte mit einem Mikrocontroller unter Zuhilfenahme des MPCM, Interuptroutinen sowie einer anständigen Ansteuerung der Bustreiber leicht zu realisieren sein.
Grüße,
da Hanni.
Wenn man den RS485 mit UART behandelt, kann man sich doch einen IRQ erzeugen lassen, immer wenn ein Byte über die UART rein kommt,
in der ISR kann man dann kurz abfragen was das Byte aussagt,
und wenns ein Beginn einer Übertragung ist, und danach die richtige Slaveadresse kommt, kann man sich ein Flag setzen das wiederum in der Hauptschleife abgefragt wird,
die restlichen Bytes werden dann bis zum schluss eingelesen,
ansonsten die Bytes ignorieren und im normalen Ablauf weitermachen !?
So vom Prinzip her sollte es gehen, oder gibts noch ein andres Problem was ich überlesen hab ?!
Also wenn ich das mit dem IRQ hinbekomme, dann ist das bester schon einen Controller zu verwenden. weiß von euch einer, wie ich das mit dem Interrupt mache?
Die UART hat ein Flag für Receive Complete,
kann man in Bascom mit
abfangen.Code:Enable Interrupts Enable URXC On URXC Isrlabel
Man kann sich in der ISR einen Buffer füllen (ByteArray?), falls die richtige Slaveadresse nach dem Start dabei war. Und ein Flag setzen, das ein Telegramm zur Bearbeitung ansteht, dieses sollte dann in der Hauptschleife gemacht werden.
Lesezeichen