Hi,
I might need a little help here - I'm stuck for hours now.
It's the first time for me to use this RFID module and it is giving me some headache.
For a test, I want to read the first three bytes of the tag's ID and print them serially out.
But up to now, I can't make the RFID module "read" something. I'm not sure about my connections and about the different timings and whatever I have to do to "start" the read process.
Does anyone have a good idea to get me started reading some data?
My test project:
The RFID module I'm using is this one for ARDUINO and the connections I used:
Here's is my current code:
Code:' ====== FUSES ===================================================================================== ' PIC 16F690 Fuses (MPASM) @ __config _FCMEN_OFF &_IESO_OFF &_CPD_OFF &_WDT_OFF &_HS_OSC &_BOR_OFF &_CP_OFF &_PWRTE_OFF &_MCLRE_OFF ' ====== REGISTERS ================================================================================= ' 76543210 OPTION_REG = %10000000 ' Pull-Ups OFF OSCCON = %00000000 ' Internal RC ANSEL = %00000000 ' Select analog inputs Channels 0 to 7 ANSELH = %00000000 ' Select analog inputs Channels 8 to 11 WPUA = %00000000 ' Select weak pull-ups WPUB = %00000000 ' Select weak pull-ups ADCON0 = %00000000 ' Select the VP6 channel as ADC input bits5:2 (xx1101xx) ADCON1 = %00000000 ' Set FRC VRCON = %00000000 ' VP6 reference CM1CON0 = %00000000 ' Comparator1 Module CM2CON0 = %00000000 ' Comparator2 Module INTCON = %00000000 ' INTerrupts CONtrol; GIE=1, T0IE=1 TRISA = %00000000 ' Select Input/Output (0 to 5) PORTA = %00000000 ' Set High/Low (0 to 5) TRISB = %00000000 ' Select Input/Output (4 to 7) PORTB = %00100000 ' Set High/Low (4 to 7) TRISC = %00000000 ' Select Input/Output (0 to 7) PORTC = %00000000 ' Set High/Low (0 to 7) ' ====== DEFINES =================================================================================== define OSC 4 ' ====== VARIABLES & CONSTANTS ===================================================================== SPI_SCK Var PORTB.4 ' SCK (SPI Clock) SPI_MISO Var PORTB.5 ' MISO (master In, Slave Out) SPI_NSS VAR PORTB.6 ' "NOT" Slave Select (SDA pin of module RC522) LED var PORTB.7 Serial_Out VAR PORTC.7 SPI_Mode var byte RFIDData Var byte(10) Serial_Bdr VAR word Counter var word ' ====== INITIALIZE ================================================================================ INIT: Serial_Out = 1 ' to avoid garbage serial data Counter = 0 SPI_NSS = 1 SPI_Mode = 0 ' MSBPRE RFIDData = 0 Serial_Bdr = 84 '9600DTN ' ====== PROGRAM =================================================================================== MAIN: ' Read RFID tag SPI_NSS = 0 ' select the RFID reader PAUSEus 50 Shiftin SPI_MISO, SPI_SCK, SPI_Mode, [RFIDData(0),RFIDData(1),RFIDData(2)] SPI_NSS = 1 ' deselect the RFID reader ' Printout RFID data Counter = Counter + 1 serout2 Serial_Out, Serial_Bdr,[DEC5(Counter), " ",DEC(RFIDData[0]),DEC(RFIDData[1]),DEC(RFIDData[2]),13,10] ' Alive witness TOGGLE LED Pause 500 Goto main: End '======= CIRCUITRY ================================================================================= 'PORTA.0[19] ICSPDAT VDD >01-20< VSS/GND 'PORTA.1[18] ICSPCLK OSC1/RA5 |02-19| RA0/AN0/DAT 'PORTA.2[17] AN3/OSC2/RA4 |03-18| RA1/AN1/CLK 'PORTA.3[04] MCLR MCLR/RA3 >04-17| RA2/AN2 'PORTA.4[03] OSC2 - Xtal CCP1/RC5 |05-16| RC0/AN4 'PORTA.5[02] OSC1 - Xtal P1B/RC4 |06-15| RC1/AN5 ' AN7/P1C/RC3 |07-14| RC2/AN6 'PORTB.4[13] SPI_SCK AN8/RC6 |08-13| RB4/AN10 'PORTB.5[12] SPI_MISO AN9/RC7 |09-12| RB5/AN11 'PORTB.6[11] SPI_NSS RB7 |10-11| RB6 'PORTB.7[10] LED ' 'PORTC.0[16] 'PORTC.1[15] 'PORTC.2[14] 'PORTC.3[07] 'PORTC.4[06] 'PORTC.5[05] 'PORTC.6[08]
![]()







Bookmarks