Message-ID: <3999C9A2.E15E3D12@aareus.com> From: "Cyrus W." Organization: Aareus Software X-Mailer: Mozilla 4.72 [en] (Win95; U) X-Accept-Language: en MIME-Version: 1.0 Newsgroups: comp.os.msdos.djgpp Subject: Re: read a character string from a serial port ...... References: <8ncd7g$18p$1 AT nets3 DOT rz DOT RWTH-Aachen DOT DE> Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7bit Lines: 61 Date: Tue, 15 Aug 2000 16:52:19 -0600 NNTP-Posting-Host: 207.34.75.11 X-Trace: jekyl.ab.tac.net 966379936 207.34.75.11 (Tue, 15 Aug 2000 16:52:16 MDT) NNTP-Posting-Date: Tue, 15 Aug 2000 16:52:16 MDT To: djgpp AT delorie DOT com DJ-Gateway: from newsgroup comp.os.msdos.djgpp Reply-To: djgpp AT delorie DOT com You should use an ISR, it will solve a lot of your problems. Of course there's no need to reinvent the wheel. I don't have the link off hand, but you may want to take a peek at SvaSync. Cyrus - I'm currently seeking new employment opportunities. Ideally I would like to use C | C++ | Perl | Asm. My resume is available at http://www.icrossroads.com/~brbi/ If your interested please contact me. Florent wrote: > Hi, > I manage to read a character from the serial port but I'm having problemes > for reading character string. > > Here is my function which read the character string : > > int ReceiveString (int ComNo,char *received,int *base) { > > int b,i=0,j=0; > char string[127]; > > string[0]=NULL; > > b = base[ComNo-1]; > if (!b) return 0; > > if ((inportb(b+STATUS) & 1) == 0) return 0; > > while (inportb(b+STATUS) & 1) { > inportb(b+STATUS); > string[i] = inportb (b); > i++; > string[i]=NULL; > delay(1); > }; > strcpy(received,string); > > return 1; > } > > ComNo is the port com choosen, and base are the adress of the serial port. > The things is that I can just read character by character, and sometimes I > miss some character. > I call my function in a loop, in order to get character (or character > string) at any moment. > I tried to put a small delay, but doesn't work well , I miss gain some > characters. > Does the serial port has a buffer ? Can we change the size of this buffer ? > Do you have any clue for my function ? > > Thanks for helping me, > best regards, > Florent.