char RXC[]={"C8373B0C"}; int RXI[]= {0xC8, 0x37, 0x3B, 0x0C};#include <18F4520.h>
#fuses HS,NOWDT,NOPROTECT,NOLVP,NOBROWNOUT
#use delay(clock=20000000)
#use rs232(baud=19600, xmit=PIN_C6, rcv=PIN_C7, ERRORS, timeout=5000)// RS232 Estándar
#include <stdlib.h>
int Msg[]={"C8373B0C"};
char Buffer[10];
int Dato[5];
int8 i,j,x;
void MsgRX(){
x = strlen(Msg)/2;
for (i=0; i<x; i++){
for (j=0; j<2; j++){
Buffer[j] = Msg[j+2*i];
}
Dato[i] = atoi(Buffer);
}
}
void main(){
MsgRX();
delay_ms(100);
while(TRUE);
}
int ii=0;
char temp[5] = {'0','x',NULL, NULL, NULL};
memset(registro_trabajo, NULL, 255); // Inicializo matriz trabajo a NULL
// Cargo matriz de trabajo con registro de entrada Ascii a Hex
for (int i=1; i<=strlen(registro_entrada); )
{
temp[2]= registro_entrada[i++];
temp[3]= registro_entrada[i++];
sscanf(temp, "%x", ®istro_trabajo[ii++]);
}
total_elementos = ii-1; // total elementos cargados en tabla de trabajo