STM32G070的CPUID地址:- /*!< Device Electronic Signature */
6 b. t& _9 H+ h; b S9 s1 V& a ~ - #define PACKAGE_BASE (0x1FFF7500UL) /*!< Package data register base address *// E, a6 a) O* u& |& q& e3 c
- #define UID_BASE (0x1FFF7590UL) /*!< Unique device ID register base address */
; A8 k, [* j0 W8 K& w - #define FLASHSIZE_BASE (0x1FFF75E0UL) /*!< Flash size data register base address */4 Q3 s: \- W) s! K! P+ T; K4 f
- /**4 a; m: y* y- z2 U) v' b! v- m
复制代码
5 ^: y% d- f6 S" e% v0 C1 o+ I2 O
- I2 Z6 l3 E! P* hHAL库已经预留了API可以直接读取:- /*** }4 q4 }, s$ U$ L( n
- * @brief Returns first word of the unique device identifier (UID based on 96 bits)$ H3 \* H1 d! N1 k( n! u1 ]
- * @retval Device identifier
. E; _6 B* H3 a' s - */
7 {0 d- y8 u- E6 y/ W9 R8 m - uint32_t HAL_GetUIDw0(void)
6 C1 ~* r5 l. O - {! X, C) j2 H6 J9 k
- return (READ_REG(*((uint32_t *)UID_BASE)));
# x& U) Q+ @- Y+ k - }+ u; {9 O( I% w: S3 Q( m5 R' p$ A2 `
- 7 v! U4 p# T; _
- /**
: C& g" M8 {$ B1 S - * @brief Returns second word of the unique device identifier (UID based on 96 bits): a$ L& ]* w' f/ R; ?) r: H
- * @retval Device identifier2 F; N" Q9 x1 f3 K( {
- */
: f% O: Q! R; U! u: Q& v5 ` - uint32_t HAL_GetUIDw1(void)& C& R5 N; t% `! U( X; w
- {
" }- |( e: A+ {. M3 Y6 X5 I - return (READ_REG(*((uint32_t *)(UID_BASE + 4U))));
9 A1 ^% `( f* X - }
/ Z6 K! @4 t3 ~! y- A# ~: d$ N
9 K- f' s/ T b8 s7 c6 g: r- /**5 B; G) \$ b: {. C v5 U
- * @brief Returns third word of the unique device identifier (UID based on 96 bits)% h5 p- Y# L* ~
- * @retval Device identifier4 M: y# |2 m2 {( I" H# D1 e# q& n& e
- */& k% q2 G ~ _& k: v2 V8 K: M
- uint32_t HAL_GetUIDw2(void)
! K N+ E, O! o I - {4 q& p$ L' p( b
- return (READ_REG(*((uint32_t *)(UID_BASE + 8U))));
{+ x: v1 S1 @ - }" \" v/ b" n3 _$ r5 O
- 5 ~7 e. _4 _0 K' O8 u) o2 x$ c
复制代码
, l c0 C* [4 b9 n: i4 L& z1 g8 p6 D8 I
/ n3 t7 ?$ V1 E& [4 K: J) e |