Hola gente!.
NO soy experto en C y tengo que hacer una modificacion.
El tema es el siguinte:
La rutina lee un string de bits de un impresor fiscal cuya informacion se muestra en otra PC que tiene un circuito cerrado de TV. Esta informacion esta separada en campos y tiene esta estructura:
|00001| latas de atún|00003000|000000001|2100|M|00001|00000000|000000000
A mi ame interesa mostrar 3 campos que son la cantidad (00003000) el articulo (latas de atún) y el precio (000000001) nada mas.Como veran tengo que leer cada campo y mostrarlo en la PC pero no son consecutivos segun mi interes.
Parte de la rutina que hace esto es:
void text_fiscal()
{
int i,j;
fg_ceroizquierda =0; //buff_485 el bufer de almacenamiento
fg_space=0; // put_char_485 es la funcion que muestra
for(i=3;i<50;i++) { //en pantalla la informacion.
if(buff_485 != 0x1c) {
put_char_485(buff_485);
watchdog();
Yo probe agragandole a put_char_485(buff_485[i+10]) y de este modo me muestra primero de izquierda a derecha el campo cantidad y el precio pero no me aparece el campo articulo.
Como yo no soy experto en C me cuesta darme cuenta pero creo que hay por lo menos 3 maneras de hacer lo que quiero pero se me ocurre una:
1) 1.a) Si le coloco i+10 a put_char_485 me muestra la cantidad
1.b) Si lo dejo i solo me muestra el articulo
1.c) Si le grego i +20 me muestra el precio
EL problema seria almacenar estos tres campos en variables y despues componerlas para formatearlas como yo quiero.
Habra alguien con experiencia que haya entendido esto y me pueda ayudar?
Muchas gracias a todos y buen fin de semana!.