Zur Übersicht - INFO - Neueste 50 Beiträge - Neuer Beitrag - Suchen - Zum C-Control-I-Forum - Zum C-Control-II-Forum

Re: Serial_IRQ_Info Kategorie: Programmierung C (von ulrich korth - 13.11.2010 11:51)
Als Antwort auf Re: Serial_IRQ_Info von Franz - 12.11.2010 20:30
Ich nutze:
C-Control Pro Mega128, CC-Pro 128 Application Board, Pro-Bot128
> > > Hallo,
> > >
> > > kann mir einer sagen warum das nicht klappt, ich weis nicht mehr weiter ....
> > >
> > > *********************************************
> > > byte buffer[41];
> > >
> > >
> > > void main(void)
> > > {
> > >     byte count;
> > >     count=0;
> > >     Serial_Init_IRQ(0,buffer,20,15,SR_8BIT|SR_1STOP|SR_NO_PAR,SR_BD38400);
> > >     while(1)
> > >     {
> > >     AbsDelay(4000);
> > >     count=Serial_IRQ_Info(0,RS232_FIFO_RECV);
> > >     Msg_WriteWord(count);
> > >     }
> > > }
> > > ***********************************************
> > >
> > >
> > > COUNT  bleibt einfach null, Einstellungen stimmen auch(im Anhang Einstellungen von HTerm)?!
> > >
> > >
> > >
> > > ich hoffer Ihr könnt helfen.
> > >
> > > Grü�e
> > >
> >
> > Liegt am AbsDelay
> >
> > in der Hilfe steht:
> >
> >
> >
> > Die Funktion Absdelay() wartet eine bestimmte Anzahl von Millisekunden.
> >
> >  
> >
> >  Die Funktion arbeitet zwar sehr genau, aber unterbricht nicht nur die Abarbeitung des aktuellen
> >  Threads, sondern läÃ?t den Bytecode Interpreter insgesamt warten. Interrupts werden zwar registriert,
> >  aber die Interruptroutinen in dieser Zeit nicht abgearbeitet, da auch dafür der Bytecode Interpreter
> > nötig ist.
> >
> >  
> >
> >  Beim arbeiten mit Threads immer Thread_Delay und nicht AbsDelay benutzen. Wird trotzdem z.B.
> >  ein AbsDelay(1000) benutzt, so tritt folgender Effekt auf: Da der Thread erst nach 5000 Zyklen
> >  (Default Wert) zum nächsten Thread wechselt, würde der Thread 5000 * 1000ms (5000 Sek.) laufen,
> >  bis der nächste Thread anfangen könnte zu arbeiten.
> >
> >  
> >
>
> Hi,
>
>
> Ausgabe bleibt die Selbe   0000000000000000000000000000000000000.
>
>
Hallo Franz,
was willst du eigentlich machen? Ich vermute du willst was einlesen.
Dann solltest du Serial_ReadExt statt Serial_IRQ_Info benutzen.
Ausserdem:
 - das Abs_Delay muss weg
 - ist da überhaupt ein Partner angeschlossen?
 - hat der die gleiche baudRate,....
 - ist der richtig angeschlossen? Evtl Pin 2 und 3 tauschen oder NullModem verwenden
Ulrich


    Antwort schreiben


Antworten:

Re: Serial_IRQ_Info (von Franz - 13.11.2010 22:28)