On Tue, 19 Dec 2006, kendwyer wrote:
> Hi,
>
> I am using the TS-7260 system for my application. I have found that
> the tty (at least ttyS0) will only read 4096 bytes as a defualt
> maximum, when my user code executes the following, r =
> read(ft,ser_databuf,4096);.
>
> When I change the code as follows:
>
> res1 = read(ft,ser_databuf,8192);
>
> I still only read 4096 bytes...
>
> How/where do I change the code to read greater than 4096?
>
Read the man page for the read function
man 2 read
on most any linux desktop.
I quote......
On success, the number of bytes read is returned (zero
indicates end of file), and the file position is advanced
by this number. It is not an error if this number is
smaller than the number of bytes requested; this may hapÂ
pen for example because fewer bytes are actually available
right now (maybe because we were close to end-of-file, or
because we are reading from a pipe, or from a terminal),
or because read() was interrupted by a signal.
re-code your application to loop on the read call until you've read all
the bytes.