How to embed user ID into PIC


Closed Thread
Results 1 to 11 of 11

Hybrid View

  1. #1
    Join Date
    May 2004
    Location
    NW France
    Posts
    3,653


    Did you find this post helpful? Yes | No

    Wink

    Hi,

    From µChip MPLAB Programmers HELP :

    ID Location : Program or verify the User ID. You can set the User ID by selecting Configure>ID Memory.
    From '628 Datasheet

    14.10 User ID Locations
    Four memory locations (2000h-2003h) are designated
    as user ID locations where the user can store
    checksum or other code-identification numbers. These
    locations are not accessible during normal execution
    but are readable and writable during Program/Verify.
    Only the Least Significant 4 bits of the user ID locations
    are used for checksum calculations although each
    location has 14 bits.
    I'd recommend you to read The MPASM Help chapter relative to "__idlocs" ...

    I will become obvious for you, then ... even if you have a "non µChip" programmer.

    Alain
    ************************************************** ***********************
    Why insist on using 32 Bits when you're not even able to deal with the first 8 ones ??? ehhhhhh ...
    ************************************************** ***********************
    IF there is the word "Problem" in your question ...
    certainly the answer is " RTFM " or " RTFDataSheet " !!!
    *****************************************

  2. #2
    Join Date
    Sep 2004
    Location
    montreal, canada
    Posts
    6,898


    Did you find this post helpful? Yes | No

    Default

    Steve

    It's not a bug, it's a random feature.
    There's no problem, only learning opportunities.

  3. #3
    Join Date
    May 2004
    Location
    NW France
    Posts
    3,653


    Did you find this post helpful? Yes | No

    Default

    deuhhh, yes there's an easier way.... Always nice to read MPASM PDF
    Wasn't it called " RTFM " in the good ol' Forum times ...

    Quand la censure ne coupait pas systématiquement tout ce qui pouvait ressembler à de l'humour ...

    Mheuuuuunoon, je l'ai pas dit ...

    Alain
    ************************************************** ***********************
    Why insist on using 32 Bits when you're not even able to deal with the first 8 ones ??? ehhhhhh ...
    ************************************************** ***********************
    IF there is the word "Problem" in your question ...
    certainly the answer is " RTFM " or " RTFDataSheet " !!!
    *****************************************

  4. #4
    Join Date
    Sep 2004
    Location
    montreal, canada
    Posts
    6,898


    Did you find this post helpful? Yes | No

    Default

    hasquetèkon
    Steve

    It's not a bug, it's a random feature.
    There's no problem, only learning opportunities.

  5. #5
    Join Date
    Nov 2003
    Location
    Greece
    Posts
    4,161


    Did you find this post helpful? Yes | No

    Default

    Now I would ask, how do you read these ID location in PBP?

    Ioannis

  6. #6
    Join Date
    Sep 2004
    Location
    montreal, canada
    Posts
    6,898


    Did you find this post helpful? Yes | No

    Default

    From MPASM
    Usage
    This directive is used in the following types of code: absolute or relocatable. For information on types of code, see Assembler Operation.

    This directive is not commonly used, but does provide an easy method of serializing devices. __idlocs can be read by a programmer. PIC18 devices can read this value at run-time, but PIC12/16 devices cannot.
    For PIC18, I guess Darrel have the right ticket for that. Something based around the following
    http://www.picbasic.co.uk/forum/showthread.php?t=4093
    Steve

    It's not a bug, it's a random feature.
    There's no problem, only learning opportunities.

  7. #7
    Join Date
    Sep 2004
    Location
    montreal, canada
    Posts
    6,898


    Did you find this post helpful? Yes | No

    Default

    I found this snip on Microchip website
    Code:
    	// read serial number from PIC ID memory at address 0x200000 - 0x200007
    	DWORD ReadIDMemory(void) {
    	DWORD IdMemory=0;
    	DWORD Temp;
    	BYTE i;
    	TBLPTR = (unsigned short long) 0x200000;
    
    	for(i=0;i<8;i++) {
    		_asm
    		TBLRDPOSTINC
    		_endasm
    		Temp=TABLAT;
    		Temp<<=((7-i)*4);
    		 IdMemory+=Temp;
    		}
    	
    	return IdMemory;
    }
    Steve

    It's not a bug, it's a random feature.
    There's no problem, only learning opportunities.

Similar Threads

  1. SMS via pic
    By kenandere in forum GSM
    Replies: 15
    Last Post: - 10th March 2010, 10:00
  2. pic to pic ir link versus wired link : help please anyone
    By xnihilo in forum mel PIC BASIC Pro
    Replies: 13
    Last Post: - 30th May 2008, 21:01
  3. Multiple PIC programming
    By Nicholas in forum mel PIC BASIC Pro
    Replies: 0
    Last Post: - 7th May 2007, 23:47
  4. Serial Pic to Pic using HSER
    By Chadhammer in forum mel PIC BASIC Pro
    Replies: 5
    Last Post: - 11th March 2005, 23:14
  5. pic basic pro (novice user)
    By f6ggy in forum mel PIC BASIC Pro
    Replies: 1
    Last Post: - 3rd October 2003, 14:29

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