Well i've got it working:
Code:
unsigned char chr;
//pointer to file
FILE* portfp ;
//set system to connect to com port
system(comsettings);
//open port for write-read mode
portfp = fopen(config.port, "wb+" ); //r+
//send first packet to com port
fprintf(portfp, ini_val[pointer].data);
fclose(portfp);
//open port for read
portfp = fopen(config.port, "rb" );
// portfp = fopen(config.port, "rb" );
//chr = 's';
printf("[%c]\n",chr);
while(pointer<packet) //(chr = fgetc(portfp)) != 'a'
{
chr = fgetc(portfp);
printf("[%c]\n",chr);
if(chr=='S')
{
pointer++;
fclose(portfp);
portfp = fopen(config.port, "wb+" );
fprintf(portfp, ini_val[pointer].data);
fclose(portfp);
portfp = fopen(config.port, "rb" );
}
if(chr=='F')
{
append_logfile("FAIL");
exit(0);
}
}
append_logfile("SUCCESS");
fclose(portfp);
system("PAUSE");
return EXIT_SUCCESS;
But i don't like it. Please help me to optimize the code.