fbpx

Expresate

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

Funciones paralelas
 
Avisos
Vaciar todo

Funciones paralelas

6 Respuestas
3 Usuarios
0 Reactions
2,409 Visitas
rashii
Respuestas: 530
Topic starter
(@rashii)
Ardero
Registrado: hace 20 años

Hola, tenia una duda, queria saber si habia alguna forma en c para que un pic estuviera esperando el envio de caracteres desde un teclado a la vez que esta encendiendo y apagando leds...ya que al esperar el envio de caracteres con getc no avanza hasta que no se le envia el caracter...si no hay ninguna forma programandolo usare otro pic que se encargue de realizar esa tarea en paralelo...pero en principio a ver si es posible hacerlo con un solo pic.

Responder
5 respuestas
mif
Respuestas: 1095
 Mif
(@mif)
Noble Member
Registrado: hace 19 años

Perdon, meti el codigo fatal...

Responder
mif
Respuestas: 1095
 Mif
(@mif)
Noble Member
Registrado: hace 19 años

rashii, no, no la hay, lo que si podrias hacer es usar la funcion KBHIT() para comprobar si hay algun caracter a la espera en la UART, y mientras no lo haya estar encendiendo y apagando el led... la funcion quedaria algo como esto:

char MiGetc() {
long timeout;
timeout_error=FALSE;
timeout=0;
char cmd;
cmd = ""
while (cmd == "")
{
timeout=0;
output_bit (PIN_B1, 1)
while(!kbhit()&&(++timeout<50000)) // 1/2 segundo
{
delay_us(10);
}

timeout=0;
output_bit (PIN_B1, 0)
while(!kbhit()&&(++timeout<50000)) // 1/2 segundo
{
delay_us(10);
}

if(kbhit())
cmd = getc();
}
return(cmd);
}

Esto es un remix de codigo de la ayuda del CCS adaptado a lo que necesitas... Cuando te metes en la funcion MiGetc() se queda esperando a que llegue un byte por el puerto serie y mientras esta encendiendo y apagando el pin B1, que es donde esta conectado el Led de la Skypic.

No lo he probado, es probable que falle algo... siempre me pasa. Ya me diras.

Responder
rashii
Respuestas: 530
Topic starter
(@rashii)
Ardero
Registrado: hace 20 años

Gracias Mif, es justo lo que andaba buscando,lo probare y ya te cuento, un saludo.

Responder
rashii
Respuestas: 530
Topic starter
(@rashii)
Ardero
Registrado: hace 20 años

lo acabo de probar y va perfecto 🙂 Gracias!

Responder
Página 1 / 2
Compartir: