fbpx

Expresate

Si además quieres enviarnos un Artículo para el Blog y redes sociales, pulsa el siguiente botón:

Problemas con delay...
 
Avisos
Vaciar todo

Problemas con delay_ms() en CSS

8 Respuestas
7 Usuarios
0 Reactions
23.5 K Visitas
jcobreros
Respuestas: 11
Topic starter
(@jcobreros)
Active Member
Registrado: hace 17 años

Estoy teniendo problemillas al programar una Skypic (16f876A) con ccs.
Al hacer delay_ms(100) el pic hace el delay correctamente, pero si hago delay_ms(variable) se los inventa. La variable ahora mismo es Float, pero con Int pasa lo mismo. Alguien tiene el mismo problema?
Muchas gracias de antemano

Responder
7 respuestas
joviwap
Respuestas: 301
(@joviwap)
Ardero
Registrado: hace 19 años

Pues la verdad es creo que no debería darte error, pero sino siempre puedes probar usando esta función:

void delay_milis(int n) {
for (;n!=0; n- -)

delay_us( 1000 );
}

Responder
ucfort
Respuestas: 760
(@ucfort)
Ardero
Registrado: hace 19 años

Yo de ti haria lo que dice joviwap. ten en cuenta que el delay_ms, no cuenta el tiempo, lo que hace realmente es que el compilador crea un codigo que segun la velocidad de reloj que le hayas dicho que vas a usar, se dedica ha hacer bucles perdiendo el tiempo, pero ese codigo, mas los nop's necesarios mas los bucles anidados y tal y tal, se crea al compilar, por eso, supongo la ayuda del CCS pone ese ejemplo para delays variables.

Responder
heli
Respuestas: 748
 Heli
(@heli)
Ardero
Registrado: hace 19 años

A la función delay_ms (time) hay que pasarle como parámetro un int16, no puedes pasarle un float y no puedes hacer delays de fracciones de ms. Para eso has de usar delay_us (time). Quizás ese es el error. El compilador no da warning (extraño) pero no creo que funcione bien. Mejor convertir el float a int16 con un casting:
delay_ms ((int16)time)

Responder
bastian
Respuestas: 384
(@bastian)
Ardero
Registrado: hace 17 años

Hola!
A mi me pasó lo mismo hace tiempo, pero no recuerdo como lo solucioné (si es que lo solucioné)... de todas formas lo de Joviwap debe de funcionar, ademas el codigo te ocupará menos 😉

Salu2!

Responder
Página 1 / 2
Compartir: