STM32G070的CPUID地址:- /*!< Device Electronic Signature */) t1 Z: c, }' D j9 }3 i h
- #define PACKAGE_BASE (0x1FFF7500UL) /*!< Package data register base address */
- W+ r1 Q9 W/ N' }. q! d - #define UID_BASE (0x1FFF7590UL) /*!< Unique device ID register base address */" E' }# f5 j* }
- #define FLASHSIZE_BASE (0x1FFF75E0UL) /*!< Flash size data register base address */3 @! G, E, @/ w3 {( y
- /**
9 L, v" H! l9 z5 G- h# _
复制代码 3 c" J: N4 i1 q- }+ V. ~6 T _- x
6 k$ u) C- n8 b4 Q: H/ aHAL库已经预留了API可以直接读取:- /**8 q4 q" {7 F+ q X& {; Z! J% ~
- * @brief Returns first word of the unique device identifier (UID based on 96 bits)
. l" w" O2 p: v+ |& w) m( d( t* ` - * @retval Device identifier9 [! A- w% m( q |( X. D0 U( e
- */4 ~5 o o; E( H, k! q7 g% P
- uint32_t HAL_GetUIDw0(void)
; w3 T0 x' V( d% g1 W - {3 o1 r8 z1 P* ?2 r
- return (READ_REG(*((uint32_t *)UID_BASE)));
- q4 X: ?4 _6 \ - }; s" [5 f) I9 J
4 V! T( Z' O" s/ o- /**
2 K9 A* `: v, K i - * @brief Returns second word of the unique device identifier (UID based on 96 bits)
- P) |/ L* E( M - * @retval Device identifier
0 P, p. N+ B2 p2 s+ X; @- s) T - */
" `. U6 L/ v7 G - uint32_t HAL_GetUIDw1(void)
1 y7 p1 x( |# }/ x8 D - {6 g. P' ]1 T- k% y
- return (READ_REG(*((uint32_t *)(UID_BASE + 4U))));
! h+ ]: l0 Q) B/ s - }
8 d* u5 U- F- q# ]
4 [. T1 u* Y ?4 b, k% e; ?; k- X- /**& M$ U$ y" Y$ k* `
- * @brief Returns third word of the unique device identifier (UID based on 96 bits)
. a! K! z* Q0 B: S: [6 s; u - * @retval Device identifier
! i0 |4 U: ]1 G1 P1 ?+ X - */* a6 k) A/ H" Z7 Q
- uint32_t HAL_GetUIDw2(void)
6 }* \8 c- F9 `5 g - {
4 v7 a) Q. [5 q - return (READ_REG(*((uint32_t *)(UID_BASE + 8U))));8 m7 Z" z4 N6 D2 b# s% \
- }- `; c1 k8 i/ {6 e
* R0 s9 z, Y( l2 l
复制代码
/ {) j/ S7 m5 B! {+ c; M- J u7 Z! U/ V9 U2 O1 |
# |3 R: {, L) e0 X
|