Zur Übersicht - INFO - Neueste 50 Beiträge - Neuer Beitrag - Suchen - FAQ - Zum CC1-Forum - Zum CC-Pro-Forum

Re: hwcom RTS Kategorie: CC2-Unit & Appl.Board / CC2-Station (von André H. - 1.02.2003 13:03)
Als Antwort auf Re: hwcom RTS von Günni - 1.02.2003 10:06

Hallo Günni
 
> danke für die Erläuterung, aber mein Wissen über die RTS & CTS Leitungen schauen etwas anders aus:
>
> RTS ist ein Ausgang
> CTS ist ein Eingang
>
Das hab ichg nicht anders geschrieben.

> Wenn nun die CC2(Sender in diesem Beispiel) etwas senden möchte wird die RTS Leitung gesetzt. Um zu prüfen ob die Gegenstelle empfangsbereit ist wird auf das CTS Signal gewartet (wird von Empfänger gesetzt wenn er bereit ist). Wenn es kommt beginnt die CC2 zu übertragen. Wenn bei der Gegenstelle der Buffer voll ist wird das CTS Signal deaktiviert und die CC2 senden erst weiter, wenn es wieder gesetzt wird. Dies verhindert einen Buffer Overflow im Empfänger.
> Dies ist zumindest der logische Ablauf einer Kommunikation zwischen zwei RS232 Geräten wie z.B. PC und Modem, mit einem Kabel wo alle notwendigen Leitungen verbunden sind.
> Wenn nun eine RS232 Zweidraht-Verbindung (RxD, TxD und GND) benutzt wird mu� die RTS und CTS Leitung gebrückt werden, sonst würde ja der Teilnehmer, der gerade senden möchte unendlich auf die CTS Singnalisierung warten. Ist ja auch kein Problem da man lediglich einen Ausgang und einen Eingang verbindet.
>

Meine Beobachtungen(und Messungen mit Hilfe von VB und Multimeter) an der CC2 und am PC
sind ein wenig anders:
RTS ist immer "True" (RS232: high, TTL:low) solange die Schnittstelle geöffnet ist
bzw. bei der CC2 immer, und wenn die Empangspuffer noch Platz haben.
RTS hat bei allen modernen Anwendungen den Sinn, dem "Sender" zu signalisieren,
daÃ? dieser Empfangsbereit ist.
Das ist z.B. auch bei meinem Baustein I2C-COM (RS232 f. I²C-Bus) so.
CTS ist klar: solange an dieser Leitung ein "True" (RS232: high, TTL: low) geliefert
wird, kann gesendet werden
Und nochmal zum Brücken von RTS und CTS:
Bei der CC2 mu� µCCTS auf GND gesetzt werden, wenn das Handshaking
nicht benützt wird. µCRTS sollte dabei offen bleiben.


> Meine Frage war eigentlich, ob die CC2 diese RTS Leitung auch wirklich so bedient wie es sein sollte. Denn wie geschildert, mein Versuchsaufbau funktioniert nicht.
>
Wie geschrieben: Es kann so nicht funktionieren Es wird ein I/O-Port benötigt.


Hier ein kleines Beispiel, was an hwcom.c2 dann dafür geändert werden mu�:
(kopiere am besten hwcom.c2 und benenne die kopierte Datei einfach um. z.B. in hw485.c2)

const EnPort=3; // I/O-Port für Pegelwandler Enable-Signal
                // Hier P1L.3
//------------------------------------
  inline function ready () returns int
//------------------------------------
{
  inline vmcodes.VM_HWCOM or (vmcodes.HWCOM_READY << 8);
}


//-----------------------
  function put ( byte c )
//-----------------------
{
  capture;
  wait ready();
  ports.set(EnPort,1);
  inline vmcodes.VM_LOAD_LOCAL_INT;  
  inline -6;        
  inline vmcodes.VM_HWCOM or (vmcodes.HWCOM_PUT << 8);
  wait ready(); // Das ist hier sehr wichtig !!
  ports.set(EnPort,0);
  release;
}


//----------------------------------------
  function send ( byte buf[], int length )
//----------------------------------------
{
  capture;
  wait ready();
  ports.set(EnPort,1);
  inline vmcodes.VM_LOAD_LOCAL_INT;  
  inline -8;        
  inline vmcodes.VM_LOAD_LOCAL_INT;  
  inline -6;        
  inline vmcodes.VM_HWCOM or (vmcodes.HWCOM_SEND << 8);
  wait ready(); // Das ist hier sehr wichtig !!
  ports.set(EnPort,0);
  release;
}

//----------------------------------------
  function print ( byte s[] )
//----------------------------------------
{
 send(s,s[31]);
}


Bei den Empfangsroutinen mu� nichts geändert werden.
Ich hoffe das hilft Dir weiter

MfG André H.

PS: Eine Bitte:
Mache bitte einen Zeilenumbruch bei den postings bevor Du den rechten Rand des
Eingabefeldes erreichst. Sonst kann man nur schwer zwischen Originaltext und Antwort
unterscheiden. Auch würde mir dies das Antworten erleichtern, da ich NS benutze und
dort im Einbabefeld immer nach Rechts scrollen muÃ?.



Antworten bitte nur ins Forum!
Fragen per EMail auf Forum-Postings werden nicht beantwortet!

Das macht meine Heizung gerade


    Antwort schreiben


Antworten: