olivervd
Joined: 10 Oct 2014 Posts: 10
|
|
Posted: Tue Oct 21, 2014 1:18 am |
|
|
Hello,
I have a same problem with my read RFID.
I use PCW compiler(CCS).
My hardware is the recommended EM Marin for Em4150. If you need my schematic I can send for email.
I use em4095 + pic16f876A.
When I run my circuit emerge the next message "ERROR PARITY".
I can read em4100 and em4102, also I can write em4150, but I can't read em4150.
Can you help me?
This is my email: [email protected]
This is my code:
Code: | #include <16F876a.h>
#fuses HS,NOWDT,NOPROTECT,NOLVP,NOBROWNOUT,NOPUT
#use delay(clock=20000000)
#use rs232(baud=9600,parity=N,xmit=PIN_C6,rcv=PIN_C7,bits=8,stream=RS)
#include <em4095.c>
#include <em4102.c>
#include <em4150.c>
#include <stdlib.h>
int32 msg;
int8 err;
int32 tagNum=0x00;
int8 tag_adr=5;// tag_adr is between 0-33
void main(void) {
rf_init();
rf_powerUp();
while(true) {
// restart_wdt();
//LOGIN
err = login_4150(0x00);
// resultado=readProtect_4150(1, 2);
// printf("valor de Resultado = %d\n\r",resultado);
// printf("valor de ERR LOGIN = %d\n\r",err);
switch(err) {
case ERR_OK: printf("\n\rOK LOGIN"); break;
case ERR_LIW:printf("\n\rLIW LOGIN"); break;
case ERR_NAK:printf("\n\rNAK LOGIN"); break;
case ERR_PARITY: printf("\n\rPARITY LOGIN"); break;
}
puts(msg,RS);
delay_ms(500);
//ESCRITURA
tagNum = make32(0x01,0x02,0x03,0x04);
tag_adr=5;
err = write_4150(tagNum,tag_adr);
switch(err) {
case ERR_OK: printf("\n\rOK ESCRITURA");
break;
case ERR_LIW:printf("\n\rLIW ESCRITURA"); break;
case ERR_NAK: printf("\n\rNAK ESCRITURA"); break;
case ERR_PARITY: printf("\n\rPARITY ESCRITURA"); break;
}
puts(msg,RS);
PWprotect_4150(FALSE);
delay_ms(500);
err=setPassword_4150(oldPassword, newPassword);
printf("valor de ERR Password = %d\n\r",err);
//LECTURA
err = read_4150(&msg,5);
tagNum=msg;
switch(err) {
case ERR_OK: printf("Data: %lu \n\r", tagNum);
printf("Data: %x \n\r", tagNum);
break;
case ERR_LIW: printf("\n\rLIW LECTURA");
break;
case ERR_NAK: printf("\n\rNAK LECTURA");
break;
case ERR_PARITY:
printf("\n\rPARITY LECTURA");
//printf("PARITY\n\r");
break;
}
puts(msg,RS);
//RESET
err= reset_4150() ;
switch(err) {
case ERR_OK: printf("\n\rOK RESET");
break;
case ERR_LIW: printf("\n\rLIW RESET");
break;
case ERR_NAK: printf("\n\rNAK RESET");
break;
}
}
} |
|
|