CH32L103C6T8 unique ID always reads last 4 bytes as 0xFF

My code needs to use the R32_ESIG_UNIID1,2 and 3 to define our product's serial number.


For some reason, I always read back 0xffff ffff from my function to read the last 4 bytes...


/*R32_ESIG_UNIID3*/

uint32_t Get_R32_ESIG_UNIID3( void )

{

    return( *( uint32_t * )0x1FFFF7F0 );

}


Is this normal with these CH32L103C6T8 chips? -- Should we only use the first 8 bytes for our application? or maybe the real position of the last four bytes is at another memory address?


Thanks in advance for your help!   

Hello, it should be that UID register 3 of CH32L103 is a reserved bit, and currently only UID registers 1 and 2 can be read with data (i.e. the first 64 bits)


只有登录才能回复,可以选择微信账号登录