Jump to content
  • Revista PROGRAMAR: Já está disponível a edição #60 da revista programar. Faz já o download aqui!

Sign in to follow this  
do_best

Tempo de espera Read - defenir tempo read

Recommended Posts

pedrosorio

ora alguém sabe qual é o tempo do read, ou como posso definir o tempo do read?

Isso não é C. O que é o tempo do read?


Não respondo a dúvidas por mensagem.

Share this post


Link to post
Share on other sites
do_best

entao é o seguinte

 int main (int argc, const char * argv[]) 
{
 int n;
 unsigned ch = 0;
 unsigned char buf[128*1024];

// just in case of make eay stuff - wrong --> char dir = "/b1firmware.b1b";
     printf("Started out app\n");
 for (n=0; n<1; n++)
 { 
	 // open file to send
	 int fd  = open("/b1firmware.b1b",O_RDONLY );    
    if( fd < 0) 
     {       
	  printf("Can't open the file\n");       
	    
     }
	 else 
	  {
		  unsigned char chFileHeader[64];
		  printf("ficheiro aberto \n");
		  lseek(fd, 0, SEEK_SET);
		  if(read(fd, chFileHeader, sizeof(chFileHeader)) == sizeof(chFileHeader))
		  {
			  int iBytesRead =
			  read(fd, buf, sizeof(buf));
			  printf("read %d bytes into buf\n",iBytesRead);
			  
			  // validate CRC
			  unsigned char ourcrc[4];
			  memset(ourcrc,0,sizeof(ourcrc));
			  
			  for (int n= 0; n < iBytesRead; n++) 
			  {
				  ourcrc[n % 4] ^= buf[n];
			  }
			  
			  if(memcmp(ourcrc, chFileHeader+0x3c,4) == 0)
			  {
				  printf("file is ok.\n");
				  
				  
				  
				  // got some data...
				  if(read(fd ,&ch, 1) == 0 )
				  {

  // got some data...
				  if(read(fd ,&ch, 1) == 0 )

e quando estou á espera de receber alguma informaçao queria saber o tempo que demora o read e se é possivel defeni-lo

Share this post


Link to post
Share on other sites
Strabush

Usas a biblioteca time.h. Declara variáves do tipo time, e usa-as assim +/-:

t_inicio = time( NULL );
função read();
t_fim = time( NULL );
tmpTotal= t_fim - t_inicio + 1;
printf("Tempo: %d \n", tmpTotal);

Qualquer coisa visita o meu blog, tem um tópico sobre isto. Espero ter ajudado.

Share this post


Link to post
Share on other sites
do_best

Usas a biblioteca time.h. Declara variáves do tipo time, e usa-as assim +/-:

t_inicio = time( NULL );
função read();
t_fim = time( NULL );
tmpTotal= t_fim - t_inicio + 1;
printf("Tempo: %d \n", tmpTotal);

Qualquer coisa visita o meu blog, tem um tópico sobre isto. Espero ter ajudado.

pois mas isso só me vai dar tempo que esteve a fazer read

uma coisa é certa

read fica espera espera espera até receber algo

mas existe alguma forma de contornar isso?

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
Sign in to follow this  

×

Important Information

By using this site you accept our Terms of Use and Privacy Policy. We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.