Ir para o conteúdo
  • Revista PROGRAMAR: Já está disponível a edição #60 da revista programar. Faz já o download aqui!

do_best

Tempo de espera Read - defenir tempo read

Mensagens Recomendadas

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.

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros 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

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros 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.

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros 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?

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites

Crie uma conta ou ligue-se para comentar

Só membros podem comentar

Criar nova conta

Registe para ter uma conta na nossa comunidade. É fácil!

Registar nova conta

Entra

Já tem conta? Inicie sessão aqui.

Entrar Agora

×

Aviso Sobre Cookies

Ao usar este site você aceita os nossos Termos de Uso e Política de Privacidade. Este site usa cookies para disponibilizar funcionalidades personalizadas. Para mais informações visite esta página.