Autor Tema: problema con retardos uS  (Leído 2363 veces)

0 Usuarios y 1 Visitante están viendo este tema.

Desconectado calcius

  • PIC10
  • *
  • Mensajes: 45
problema con retardos uS
« en: 13 de Octubre de 2004, 08:18:00 »
buenas estoy desarrollando un programa para controlar servomotores, usando las instrucciones delay_us(). el problema es que cuando quiero que en lugar de ser un valor el que le doy a esa función intento que sea una variable usanto delay_us(variable) el problema es que si pongo esa variable de tipo int, el programa no funciona, porque supongo que algo estoy haciendo mal y aunque he mirado la ayuda del ccs no me queda claro de que tipo la tengo que declarar o como puedo hacer eso.espero vuestras propuestas...

pd: el rango de valores que uso es de 0-20000 us

Desconectado pocher

  • Moderador Local
  • DsPIC30
  • *****
  • Mensajes: 2569
RE: problema con retardos uS
« Respuesta #1 en: 13 de Octubre de 2004, 10:58:00 »
Je, je eso también me pasó a mí en su día y perdí mucho tiempo hasta que leí detenidamente el manual.

Si pones una variable (simple o booleana), dentro de delay_ms o delay_us su valor no debe de sobrepasar 255.

Un saludo

Desconectado wqtrp

  • Colaborador
  • PIC16
  • *****
  • Mensajes: 170
RE: problema con retardos uS
« Respuesta #2 en: 13 de Octubre de 2004, 10:59:00 »
me paso algo parecido con los long y tome la costumbre de usar siempre int8, int16 o int32 q no falla

pero en tu caso mire la doc. de la funcion y alli dice q variables solo de 0 a 255 y constantes de 0 a 65535
asi q imagino q ese es ru problema.

Suerte.

Desconectado pikman

  • Moderador Local
  • PIC24F
  • *****
  • Mensajes: 682
RE: problema con retardos uS
« Respuesta #3 en: 13 de Octubre de 2004, 12:22:00 »
Bueno, yo te puedo decir que los delay_us() segun la version, hace lo que quiere, osea que son ademas la impresicion, te recomiendo usar un timer para lo que estas haciendo, con los delay_us() y delay_ms() resultan muy comodos pero solo sirven para hacerse mas complicado problema, por eso evidentemente no entan estas funciones implementadas en otros compiladores.

saludoS

ARIEL
saludos
PikMan

Desconectado calcius

  • PIC10
  • *
  • Mensajes: 45
RE: problema con retardos uS
« Respuesta #4 en: 13 de Octubre de 2004, 14:24:00 »
pues probe declarando la variable como int16 y 32, pero lo que no me habia dado cuenta es que iba solo hasta 255, lo de si son imprecisos no lo e llegado a comprobar todabia, pero de momento me sacaron del apuro, la verdad creo que lo mejor seria usar el PWM pero no tengo ni idea de por donde cojerlo, sabeis de algun ejemplo o algo para empezar? ya sabreis de sobra que lo que más cuesta de estas cosas cuando no las conoces es empezar... que programador no ha echo en sus comienzos un HOLA MUNDO!!!!!! je je je