STM32G070的CPUID地址:- /*!< Device Electronic Signature */& T. l: g& p+ {% K6 g$ z6 S
- #define PACKAGE_BASE (0x1FFF7500UL) /*!< Package data register base address */
! o: v$ v2 ^' Z; S6 h( R9 c* m* m - #define UID_BASE (0x1FFF7590UL) /*!< Unique device ID register base address */$ J: y. g3 T$ m- }9 Y
- #define FLASHSIZE_BASE (0x1FFF75E0UL) /*!< Flash size data register base address */
6 x0 G, i; y0 e - /**7 c8 p5 c6 A, F; v) s$ Q
复制代码 ! M1 p6 X) c; S8 b: z; Q0 ^1 V1 `
9 q2 K8 C( \% c. x, A- P
HAL库已经预留了API可以直接读取:- /**
_& @. Q, F8 a5 s: z; t F3 H9 ` - * @brief Returns first word of the unique device identifier (UID based on 96 bits)
1 f* z- {5 Y9 d - * @retval Device identifier
" o g" T0 p7 F; y4 t" V+ g$ x! v - */0 M+ j, E" j. M; j
- uint32_t HAL_GetUIDw0(void)4 f. T: t! C; ?: E/ b% q* H
- {
' {4 ^* E& a) s+ w$ Z/ d - return (READ_REG(*((uint32_t *)UID_BASE)));) L. k$ z7 t, f8 L- b" v
- }
* e! O) J: U$ C - ' K" e! m$ o6 h2 W
- /**" H/ C7 ]7 l4 Q' d
- * @brief Returns second word of the unique device identifier (UID based on 96 bits)6 }0 X( j- g* k. E! T" M
- * @retval Device identifier
t4 G# h# Z1 G {6 @1 ^" E - */2 x: i, {. a) \
- uint32_t HAL_GetUIDw1(void)
5 M! b& n5 u: ~. l; Q - {
$ b% y) \7 |! y" V - return (READ_REG(*((uint32_t *)(UID_BASE + 4U))));
N3 D* }9 H) b" \7 j- s, F - }
3 r( J4 q% m& ~! _4 z* O
3 [5 A k8 Y, H/ L- /**# U; @4 ^; r( T; P8 c
- * @brief Returns third word of the unique device identifier (UID based on 96 bits)
# R& {7 O. O% b - * @retval Device identifier# |/ e( l, n) R1 q$ z1 Z/ e
- */
3 @3 K' Q( \. Z$ K - uint32_t HAL_GetUIDw2(void)
, u5 i- h" V6 Z- O* S3 G P8 q - {
7 P% Q& C6 ^* ~( ]; f' p, \. V2 [! t - return (READ_REG(*((uint32_t *)(UID_BASE + 8U))));
( ~: E% Z8 @+ V% ^% ^3 g6 R# Y! g y - }
# Z8 z% z0 W6 f3 w s6 q5 v6 ]
; M5 H% n8 [0 o: Z2 I m F9 @
复制代码 " L. ~ D% ^) Z( H. k
. k9 X& {9 L+ A& Y- l u. q- y2 g" T" o+ S
|