STM32G070的CPUID地址:- /*!< Device Electronic Signature */
# d* u" Y( s* j$ Y - #define PACKAGE_BASE (0x1FFF7500UL) /*!< Package data register base address */
" y5 q, S; x# O - #define UID_BASE (0x1FFF7590UL) /*!< Unique device ID register base address */
! n+ l$ l: t0 e4 A' C* t/ Z - #define FLASHSIZE_BASE (0x1FFF75E0UL) /*!< Flash size data register base address */
c# U4 c4 z, \. o% h2 T0 m - /**
7 g. g4 @; |) { {: O5 d
复制代码 0 z, E* x% l9 f0 n
5 }0 J# p1 |6 k& j$ d4 vHAL库已经预留了API可以直接读取:- /**
3 U7 Y+ Z6 e9 } - * @brief Returns first word of the unique device identifier (UID based on 96 bits)
; [2 [' v, A+ h; c9 l - * @retval Device identifier! H2 c* i, G. z$ C8 T' W
- */9 m/ L/ ~* s0 b3 L3 P3 W
- uint32_t HAL_GetUIDw0(void)
' o, A) _+ u) |) g8 K6 t5 d - {
) j0 ^" t2 `! p* Q% B - return (READ_REG(*((uint32_t *)UID_BASE)));2 O4 C* k5 q: R
- }1 b: `, i% c5 F+ j# m) d
- # w. p ^2 v: o+ J
- /**
. D$ I; c! i3 p1 N5 y - * @brief Returns second word of the unique device identifier (UID based on 96 bits)8 [0 ^$ y) W5 `4 v
- * @retval Device identifier
* x5 \2 z% \6 N+ q: C, s - */1 u# |* E7 o" H8 E0 D0 x
- uint32_t HAL_GetUIDw1(void)
' Z; e$ ?2 z, R% [7 m, v& h' m - {: G! \; W# K' x+ R6 n0 ~
- return (READ_REG(*((uint32_t *)(UID_BASE + 4U))));7 T# p4 O, W5 ]; g: l9 W5 Q% _6 \
- }
& n6 a) o( F0 G% q3 `7 F$ u; b - ( F' n% |& Q' _8 F) J) {
- /**
0 f& O) i3 o1 ]5 ~& ? - * @brief Returns third word of the unique device identifier (UID based on 96 bits)
+ m% [/ E/ S- t6 }. t - * @retval Device identifier7 M @, F0 L* Y9 o4 Z
- */$ R, G+ R) K6 S7 s
- uint32_t HAL_GetUIDw2(void)
; K7 k& g' r. L6 h2 z( _, O% e - {) V9 n! N5 E9 \
- return (READ_REG(*((uint32_t *)(UID_BASE + 8U))));
?% B" `- t7 a( U. j& n& X. ^ - }: Z5 G0 L7 V$ S+ r. ?; X2 d4 e8 p3 z
- , \# p2 w( B5 x. A) H7 P
复制代码
+ N6 r, ^" ^8 R! n# p0 G5 a" ~$ I* Z
5 t( X' D$ W, P! d9 v! Y7 R4 l, a' ]8 U
|