problema multitarea

A

Andrew83

Guest
Hola!

Estoy tratando de ma una aplicación multitarea.

Una de las tareas es la de recibir más de un personaje de serie y convertirlo en la cooperación en forma binaria.

El problema es este: no puedo usar el valor devuelto por bgetc () en el check_SERIAL () la función.

Estoy usando PIC18F452 @ 10 MHz y CCS versión del compilador C 4,057.

Aquí está el código:

Código:int_rda #

serial_isr void () (

int t;

output_toggle (pin_b1); / / debug

buffer [next_in] = getc ();

t = next_in;

= (next_in 1)% next_in BUFFER_SIZE;

if (next_in == next_out)

next_in = t; / / Buffer lleno!!

)BYTE bgetc () (

BYTE C;output_toggle (pin_b2); / / debug

while (! bkbhit);

c = buffer [next_out];

= (next_out 1)% next_out BUFFER_SIZE;

return (c);

)void check_SERIAL (void)

(

char i, d;if (gc_IRTRANSMIT_timer)

(

output_toggle (pin_b3);

retorno;

)

algo más(IRTRANSMIT_TIMER_TICKS gc_IRTRANSMIT_timer =;

output_toggle (pin_b4); / / debug

for (i = 0; i <8; i )

(

output_toggle (pin_b5); / / debug

if (bgetc () & 0x80)

d = '1 ';

algo más

d = '0 ';

bgetc () <<= 1;

cmd = d;

)

cmd [8] = 0;

output_toggle (pin_b6); / / debugprintf ( "% s", cmd);

)

)

 
Hola.Trate de crear una cadena fija, y comparar el registro para recibir de ella.Si es igual que hacer ....
Recuerdos

 
Gracias!

<img src="http://www.edaboard.com/images/smiles/icon_idea.gif" alt="Idea" border="0" />
 

Welcome to EDABoard.com

Sponsor

Back
Top