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

Re: Modemspezialist gesucht klappt noch nicht Kategorie: Sonstige Hardware (von Manfred - 9.05.2006 9:30)
Als Antwort auf Re: Modemspezialist gesucht klappt noch nicht von Martin - 6.05.2006 12:48
Ich nutze:
C164CI-ControllerBoard, eigenes Board, OSOPT V3.0
Hallo Martin!

Wie es aussieht wird der Connect-String noch immer nicht erkannt.

Ich sehe da 2 Lösungsansätze:

1. Du versuchst es mit meiner Routine, die ist etwas robuster weil das Connect an irgendeiner Stelle
stehen kann:

function waitconnect() returns byte
 {byte data[25];string searchfor;
  wait hwcom.rxd();
  hwcom.receive(data,25,1200);
  searchfor="CONNECT";
  if strx.InStr(0,data,searchfor,25,7)!=-1
         {hwcom.flush();
          return 255;}
     else
    {hwcom.flush();
          return 0;}
 }

2. Du Schreibst die Conect-Meldung des Modems aufs Display - ich habe die Meldungen
in den Code eingebaut.
Eventuell musst du die Syntax etwas korrigieren (z.B ";"), und ich hoffe das
"Connect nicht erkannt" ist an der richtigen Stelle (bei if waitconnect {...} else {hier!}) - ich habe hier
kein CC2 IDE zum prüfen.
Falls es zu schnell geht ein paar sleeps einbauen.
Zeile 1 ist der Status des CC2
Zeile 2 ist der Status des Modems
Zeile 3 ist die Connect-Meldung des Modems
Zeile 4 ist die Connect-Meldung, die sich der CC2 erwartet

Bei Unterschieden in den ersten 9 Zeichen ist es klar, das nichts erkannt wird.
Leider verhalten sich die Modems recht unterschiedlich in dieser Hinsicht, eine
manuelle Anpassung ist da manchmal notwendig.


function waitconnect()returns byte//Wartet auf die "CONNECT"-Meldung vom Modem
{string s;
 s=13+10+"CONNECT";
 wait hwcom.rxd();
 hwcom.receive(in,30,1000);
 hwcom.flush();
       rblcd.delline(4);
       rblcd.delline(4);
       rblcd.line(3);rblcd.print(in);
       rblcd.line(4);rblcd.print(s);
 return strx.InStr(0,in,s,str.length(in),9)>=0;//
}


thread onlineCounter
{byte Second;
 Second=system.second();
 wait Second != system.second();
 online=online+1;
}
//------------------------------------------------------------------------------
thread main
{byte second, len;
rblcd.line(1);rblcd.print("INIT Senden        ");
rblcd.init();
 modem.init(5,255,255);//Modem initialisieren 7 =38400 5= 9600
rblcd.line(2);rblcd.print("INIT OK            ");
for len=0 ... 3
 {
  counter[len]=0;
 }
 in="";
 loop
{rblcd.line(1);rblcd.print("auf Ring Warten         ");
 wait hwcom.rxd();
 rblcd.line(2);rblcd.zahl2(system.second());//Test 3
  len=hwcom.receive(in,30,1000);
  k2="RING";
  if strx.InStr(0,in,k2,len,4)!=-1 //Modem abheben lassen bei "RING"-Meldung
      {
       k2="ATA"+13+10;
       hwcom.send(k2,str.length(k2));
       rblcd.line(2);rblcd.print("Ring erkannt            ");
       rblcd.line(1);rblcd.print("auf Connect warten         ");  
          if waitconnect() // Auf "CONNECT"-Meldung warten
         {
       rblcd.line(1);rblcd.print("Connect erkannt        ");
         
          online =0;
          run onlineCounter;
          menu();
          loop
          {
           if second!=system.second() {second=system.second();printtime();printOnline();}
           if hwcom.rxd()
            {byte get;
             get=hwcom.get();
             if get=='1' subPorts();
             if get=='2' subCounter();
             if get=='3' subGetAD();
             if get=='4' subGetFRQ();
             if get=='T' or get=='t' setTimeDate();
             if get=='E' or get=='e'
                     {
                      if subEnd()
                         {
                          modem.commandmode();
                          modem.hangup();
                          reset onlineCounter;
                          break;
                         }
                     }
              menu();
             }
          }
        } //connect
       else
       {
           rblcd.line(1);rblcd.print("Connect nicht erkannt        ");
           sleep 5000;
       }
  } //ring
 } //loop
} //thread

viel Glück!

Manfred


    Antwort schreiben


Antworten:

Re: Modemspezialist gesucht klappt noch nicht (von martin - 10.05.2006 20:16)
    Re: Modemspezialist gesucht klappt noch nicht (von Manfred - 15.05.2006 10:05)
        Re: Modemspezialist (von Martin - 16.05.2006 12:24)