rs232 pufferüberlauf? Kategorie: Programmierung C (von matze - 30.08.2010 18:54) | ||
| ||
hallo, bitte seid milde gestimmt , es ist main aller erster Forums Eintrag! Ich habe nur leider über die Suchfunktion nicht das richtige gefunden. folgender Fall: Messdaten von cc-pro 128 auf pc via rs232 nach Aufforderung übertragen. Sprich der pc sendet Steuercodes 10byte, nach dem auswerten auf der cc-pro soll diese antworten mit den jeweiligen Messdaten. ca 1-2 sec Takt. initialisiert wird mit: Serial_Init_IRQ(0,Buffer_rs232,10,32,SR_8BIT|SR_1STOP|SR_NO_PAR,SR_BD19200); am Anfang des Programms. wenn ich über ein Terminal Programm 10 Zahlen sende: while (count <=9) { count=Serial_IRQ_Info(0,RS232_FIFO_RECV); } so sieht die Antwort meistens aus. i=0022 0000 0001 0000 0002 0000 0003 0000 0004 0000 0005 0000 0006 0000 0007 0000 0008 10 Zeichen im IRQ empfangen aber wenn ich in dem Terminal Programm auf einer Taste drauf bleibe und er fortlaufend bytes schicke, sieht es ab und an so aus. i=002E 0000 0001 0000 0002 0000 0003 0000 0004 0000 0031 0031 0031 0000 0007 0000 0008 19 Zeichen im IRQ empfangen ^ ^ ^ da ist der fehler!! die drei 31 Wie sage ich ihm, das er nur 10 Zeichen lesen soll und danach den Puffer zurücksetzen mu� damit er nich in den Sendepuffer schreibt Es ist doch auch richtig, das ich die zu sendenden Daten in den "Buffer_rs232" + 10 direkt hineinschreibe bzw : Serial_Write(0,Buffer_rs232[10+count ++]); ich hoffe ich habe mich einigerma�en klar ausgedrückt. ich benutzte derzei noch keine threads eine schleife zählt puffer: Serial_IRQ_Info(0,RS232_FIFO_RECV); danke | ||
Antwort schreiben Antworten: Re: rs232 pufferüberlauf? (von PeterS - 30.08.2010 20:02) Re: rs232 pufferüberlauf? (von matze - 1.09.2010 17:33) Re: rs232 pufferüberlauf? (von Blackdragon - 30.08.2010 19:57) Re: rs232 pufferüberlauf? (von matze - 1.09.2010 17:40) |
Zur Übersicht - INFO - Neueste 50 Beiträge - Neuer Beitrag - Suchen - Zum C-Control-I-Forum - Zum C-Control-II-Forum