How to compare strings/array? RFID Project


Closed Thread
Results 1 to 40 of 101

Hybrid View

  1. #1
    Join Date
    Oct 2010
    Posts
    413


    Did you find this post helpful? Yes | No

    Default Re: How to compare strings/array? RFID Project

    hi all again,

    i try to see what the problem is.

    I think there might be a problem on storing data to EEPROM of the pic16f628a...

    and there also be a problem somewhere on the code...

    Code:
    Main:
    high portb.3
    low portb.1					    ' activate the reader
    SERIN2 portb.1, 84, [WAIT($0A)] ' STR buf\12]	' wait for hdr + ID
    high portb.1					' deactivate reader
    pause 500
     
    Check_List:
      FOR tagNum = 1 to 2				' scan through known tags
        FOR idx = 0 TO 11				' scan bytes in tag
        READ (((tagNum-1) * 12) + idx), char	' get tag data from table
        IF (char <> buf(idx)) THEN Bad_Char		' compare tag to table
        NEXT
        GOTO Tag_Found				  ' all bytes match!
    when i try to pass the card from the reader it light the led of the reader but nothing happens to my LCD.

    then i pass second time the card from the reader the led on the porta.3 light up and i get on my lcd the Error tag.

    I dont understand what is happening on the first time that i pass the card. It doesnt do anything.

    Why when i pass it two times i have bad tag on the display.

    On other thing is that i cannot make it work to show me the name on the display on the right cards.

    If you have any solutions please help me.

    regards

  2. #2
    Join Date
    Aug 2006
    Location
    Look, behind you.
    Posts
    2,818


    Did you find this post helpful? Yes | No

    Default Re: How to compare strings/array? RFID Project

    Just countin beans here:
    Code:
    buf        VAR    Byte(12)' RFID bytes buffer
    I think should read
    Code:
    buf        VAR    Byte[12]' RFID bytes buffer
    I am looking for other issues
    If you do not believe in MAGIC, Consider how currency has value simply by printing it, and is then traded for real assets.
    .
    Gold is the money of kings, silver is the money of gentlemen, barter is the money of peasants - but debt is the money of slaves
    .
    There simply is no "Happy Spam" If you do it you will disappear from this forum.

  3. #3
    Join Date
    Oct 2010
    Posts
    413


    Did you find this post helpful? Yes | No

    Default Re: How to compare strings/array? RFID Project

    Thank you Joe,

    i will make the change in the afternoon, then i will check and let you know.

    Your help is much apreaciated.

    Best Regards,

  4. #4
    Join Date
    Oct 2010
    Posts
    413


    Did you find this post helpful? Yes | No

    Default Re: How to compare strings/array? RFID Project

    i have changed the () with this [] but didnt work.

    something else is the mistake and i cannot understand.

    When i pass the tag from the reader doesnt do anything, but i pass it twice then i get the bad tag on the display.

    It seems that doesnt recongise the tags i gave to the program.

    somthing has to do with this line

    SERIN2 portb.1, 84, [WAIT($0A), STR buf\10] 'the number 10 here is the 9600???

    i cannot understand this line could you help?

    FOR idx = 0 TO 11 ' here is it ok this line if my RFID tags have 12 digits?
    READ (((tagNum-1) * 10) + idx), char ' this line is chineese to me. what is the number 10 in there? What number should i put if my RFID tags have 12 digits?
    Last edited by astanapane; - 11th April 2011 at 18:23.

  5. #5
    Join Date
    Aug 2006
    Location
    Look, behind you.
    Posts
    2,818


    Did you find this post helpful? Yes | No

    Default Re: How to compare strings/array? RFID Project

    Quote Originally Posted by astanapane View Post
    i have changed the () with this [] but didnt work.

    something else is the mistake and i cannot understand.

    When i pass the tag from the reader doesnt do anything, but i pass it twice then i get the bad tag on the display.

    It seems that doesnt recongise the tags i gave to the program.

    somthing has to do with this line

    SERIN2 portb.1, 84, [WAIT($0A), STR buf\10] 'the number 10 here is the 9600???

    i cannot understand this line could you help?

    FOR idx = 0 TO 11 ' here is it ok this line if my RFID tags have 12 digits?
    READ (((tagNum-1) * 10) + idx), char ' this line is chineese to me. what is the number 10 in there? What number should i put if my RFID tags have 12 digits?
    Working from memory here, my book is outside, and I am not dressed to go get it . . .
    As I remember the 84 is the Mode setting the baud rate, the buff\10 sets the string state to 10 characters - 0 to 11 would equal 12 characters in your index, so I am thinking your buf\10 should be buf\12 . . .
    If you do not believe in MAGIC, Consider how currency has value simply by printing it, and is then traded for real assets.
    .
    Gold is the money of kings, silver is the money of gentlemen, barter is the money of peasants - but debt is the money of slaves
    .
    There simply is no "Happy Spam" If you do it you will disappear from this forum.

  6. #6
    Join Date
    Oct 2010
    Posts
    413


    Did you find this post helpful? Yes | No

    Default Re: How to compare strings/array? RFID Project

    Hi Joe,

    i would also like to specify that the tags i have there are manchester encoding. Do i have to decode it through the program in order to work?

    I dont know how to decode it. As from the page here http://www.sparkfun.com/products/10169 these are the features
    Features:

    EM4001 ISO based RFID IC
    125kHz Carrier
    2kbps ASK
    Manchester encoding
    32-bit unique ID
    64-bit data stream [Header+ID+Data+Parity]


    From what you are saying now:

    i have already change the buf/10 to 12 but nothing happens.

    If you see the site in here http://melabs.com/resources/ser2modes.htm , there is a 4Mhz which i use at them moment.

    There are several numbers in there included the 84. The number 84 seems to read the data at 9600.

    Here is an other example of the code http://melabs.com/samples/PBP-mixed/ser2mod.htm

    Code:
    Serin2 pinin,396,[WAIT("F"), STR test8\8]
    
       Serout2 pinout,396,["14: ",STR test8\8,13,10]   ' 15: 7ZZ-0001
    
    ' Waits for the string "F", then collects the next 8 characters.  These are
    
    ' stored as ascii in 8 locations of the array variable test8.  The SerOut2
    
    ' statement uses the same modifier to send all 8 locations of the array
    
    ' variable as an ascii string.
    
       Serin2 pinin,396,[WAIT("Z",45), STR test8\8\"0"]
    
       Serout2 pinout,396,["15: ",STR test8\8,13,10]   ' 16: F7ZZ-
    
    ' This example demonstrates how you can put multiple characters in the
    
    ' WAIT.  It waits for the string "Z-", since the ascii code for "-" is
    
    ' 45.  The STR item is the same as above except we have added the stop
    
    ' character "0".  When it encounters "0" at the sixth character, it
    
    ' replaces it and fills the rest of the test8 array with null characters.
     
       Pause 2000
    
       Goto mainloop
     
       End
    Last edited by astanapane; - 12th April 2011 at 08:22.

  7. #7
    Join Date
    Aug 2006
    Location
    Look, behind you.
    Posts
    2,818


    Did you find this post helpful? Yes | No

    Default Re: How to compare strings/array? RFID Project

    I know little to nothing about manchester encoding, I defer to the More Experienced members here, Right now I am still recovering from a hard drive crash, having "unearthed" my computer, I cannot see my bench for the scattered "stuff" ;(, at least the computer is up, except all my PDFs are corrupted.
    If you do not believe in MAGIC, Consider how currency has value simply by printing it, and is then traded for real assets.
    .
    Gold is the money of kings, silver is the money of gentlemen, barter is the money of peasants - but debt is the money of slaves
    .
    There simply is no "Happy Spam" If you do it you will disappear from this forum.

Similar Threads

  1. Parallax RFID Reader code example
    By dan-tron in forum Code Examples
    Replies: 4
    Last Post: - 19th April 2013, 23:16
  2. A Temperature & Humidity Data Recorder Project
    By Oldspring in forum Off Topic
    Replies: 0
    Last Post: - 9th July 2008, 19:47
  3. Replies: 3
    Last Post: - 12th March 2008, 06:33
  4. Free Web based RFID Online Courses
    By Thirumoorthy in forum General
    Replies: 0
    Last Post: - 19th November 2007, 14:38
  5. Free web based RFID online Course
    By Lesikar in forum GPS
    Replies: 0
    Last Post: - 19th October 2007, 23:28

Members who have read this thread : 0

You do not have permission to view the list of names.

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts