##// END OF EJS Templates
rs232read clean
yannic -
r1:53f78c15a9b9 default
parent child
Show More
@@ -181,27 +181,6 int rs232setup(int fd, int ChSize, int B
181 int rs232write(int fd,char *psWrite)
181 int rs232write(int fd,char *psWrite)
182 {
182 {
183 int Len_psWrite = (int)strlen(psWrite);
183 int Len_psWrite = (int)strlen(psWrite);
184 int charsWrite=0;
185
186 if (fd == -1)
187 {
188 return -1;
189 }
190 else
191 {
192 charsWrite = write(fd, psWrite, Len_psWrite);
193 return charsWrite;
194 }
195 }
196
197
198 int rs232read(int fd,char *psReadHex)
199 {
200 char ReadBuff[ReadBufferSize];
201 int CharsRead=0, Reads=0, i=0;
202
203 for(i=0;i<ReadBufferSize;i++)
204 ReadBuff[i]='\0';
205
184
206 if (fd == -1)
185 if (fd == -1)
207 {
186 {
@@ -209,21 +188,20 int rs232read(int fd,char *psReadHex)
209 }
188 }
210 else
189 else
211 {
190 {
212 read(fd, ReadBuff, ReadBufferSize);
191 return write(fd, psWrite, Len_psWrite);
213 while(CharsRead<(ReadBufferSize-1))
192 }
214 {
215 for(i=0;i<ReadBufferSize;i++)
216 ReadBuff[i]='\0';
217
218 if((Reads = read(fd, ReadBuff, (ReadBufferSize-1)-CharsRead)) > 0)
219 {
220 CharsRead = CharsRead + Reads;
221 ReadBuff[CharsRead]='\0';
222 strcat(psReadHex, ReadBuff);
223 }
193 }
224
194
195
196 int rs232read(int fd,char *psReadHex, int ReadBufferSize)
197 {
198 if (fd == -1)
199 {
200 return fd;
225 }
201 }
226 return CharsRead;
202 else
203 {
204 return read(fd, psReadHex, ReadBufferSize);
227 }
205 }
228 }
206 }
229
207
@@ -1,11 +1,9
1 // SOPSUYSI_RS232.h
1 // SOPSUYSI_RS232.h
2
2
3
3
4 #define ReadBufferSize 16*1024
5
6
4
7 int rs232open(char* psPortName);
5 int rs232open(char* psPortName);
8 int rs232close(int fd);
6 int rs232close(int fd);
9 int rs232setup(int fd, int ChSize, int BaudeRate, int Parity, int NbStop);
7 int rs232setup(int fd, int ChSize, int BaudeRate, int Parity, int NbStop);
10 int rs232write(int fd,char *psWrite);
8 int rs232write(int fd,char *psWrite);
11 int rs232read(int fd,char *psReadHex);
9 int rs232read(int fd,char *psReadHex, int ReadBufferSize);
General Comments 0
You need to be logged in to leave comments. Login now