你的浏览器版本过低,可能导致网站不能正常访问!
为了你能正常使用网站功能,请使用这些浏览器。

NUCLEO_L552ZE_Q+GPIO HAL模块文件(第四篇)

[复制链接]
qbwww 发布时间:2020-3-22 22:02
今天仔细研究了GPIO HAL模块,看看他的定义是什么意思,发出来给大家看一看,希望对大家有一定的帮助。
3 L; n/ j9 r* V  G
  1. " J/ m# z" u+ e, k/ p& ~1 c
  2. /*GPIO初始化结构定义*// k" l! a9 R( v" v2 R; {
  3. typedef struct7 ^( D/ `/ i4 l5 |) q
  4. {
    # k" Z% F3 w% D
  5. uint32_t Pin;/*指定要配置的GPIO引脚。此参数可以是GPIO_pins的任何值*/, S0 v' ?7 B5 O( D# }6 }2 J$ u* o

  6. + N  {! m: k1 Q: K3 E  v) ?
  7. uint32_t Mode;/*指定所选引脚的操作模式。此参数可以是GPIO_mode的值*/) w# \  }  ~1 |; h# h& `+ o! p

  8. ( w. O4 U/ A5 p
  9. uint32_t Pull;/*指定所选引脚的上拉或下拉激活。此参数可以是GPIO_pull的值*/! l- b8 m" o6 ]1 @, N: L

  10. 6 I4 v/ h0 L5 `, g! z
  11. uint32_t Speed;/*指定选定引脚的速度。此参数可以是GPIO_speed的值*/
    0 G# p8 q6 c4 k8 G$ U

  12. . M, {2 ^; \! ~
  13. uint32_t Alternate;/*要连接到选定引脚的外围设备此参数可以是GPIOEx_Alternate_function_selection的值*/
    5 r% q0 `* B: T8 `5 |2 T3 e
  14. }GPIO_InitTypeDef;
    ( f; R; C7 h2 A8 B7 c

  15. ( c, q; P2 N/ V5 o2 v
  16. /*GPIO位设置和位RESET枚举*/+ T4 x. _- ]( V" Y9 R/ |# D. N
  17. typedef enum
    , ~4 n$ p( @6 E
  18. {
    , X( i; K. }& t1 B# }4 x
  19.   GPIO_PIN_RESET = 0U,
    7 a4 [9 \1 O4 W5 v; T
  20.   GPIO_PIN_SET0 V+ A8 e$ u. U& e
  21. } GPIO_PinState;
    . @" g/ I1 D. _, V! j) @
  22. % N3 z6 {; h1 ^* l# p
  23. /*GPIO引脚*/- o& q2 I3 E5 E6 n4 Z
  24. #define GPIO_PIN_0                 ((uint16_t)0x0001)  /* Pin 0 selected    */4 q+ }0 ^; T4 t) u: r! @: a- I
  25. #define GPIO_PIN_1                 ((uint16_t)0x0002)  /* Pin 1 selected    */0 n! ^3 n+ d* K- o& I1 J
  26. #define GPIO_PIN_2                 ((uint16_t)0x0004)  /* Pin 2 selected    */
    ) y! I2 p$ u! _4 w5 r
  27. #define GPIO_PIN_3                 ((uint16_t)0x0008)  /* Pin 3 selected    */
    ) f+ W4 p) U# ?
  28. #define GPIO_PIN_4                 ((uint16_t)0x0010)  /* Pin 4 selected    */
    ( v7 v# q% m; e: k" S$ A
  29. #define GPIO_PIN_5                 ((uint16_t)0x0020)  /* Pin 5 selected    */
    1 g2 X: H8 c- Z6 ~$ {
  30. #define GPIO_PIN_6                 ((uint16_t)0x0040)  /* Pin 6 selected    */, d, L0 v- W1 X7 ~% }8 h) ^+ f
  31. #define GPIO_PIN_7                 ((uint16_t)0x0080)  /* Pin 7 selected    */
    : h# e/ S/ B, U" H0 l, J/ G/ V
  32. #define GPIO_PIN_8                 ((uint16_t)0x0100)  /* Pin 8 selected    */9 u+ c0 b& M4 O+ o$ n, a
  33. #define GPIO_PIN_9                 ((uint16_t)0x0200)  /* Pin 9 selected    */
    % V/ L8 k, z. t0 q
  34. #define GPIO_PIN_10                ((uint16_t)0x0400)  /* Pin 10 selected   */' B8 u( Y$ U% [$ K' G5 B& f
  35. #define GPIO_PIN_11                ((uint16_t)0x0800)  /* Pin 11 selected   */3 j) u+ n: [) \# l! V
  36. #define GPIO_PIN_12                ((uint16_t)0x1000)  /* Pin 12 selected   */8 J2 J9 V" B. d2 D# s
  37. #define GPIO_PIN_13                ((uint16_t)0x2000)  /* Pin 13 selected   */
    / G0 i4 j1 l9 O9 Y" a1 h8 a
  38. #define GPIO_PIN_14                ((uint16_t)0x4000)  /* Pin 14 selected   */0 V# c# x2 E# |1 K5 t' Z1 E
  39. #define GPIO_PIN_15                ((uint16_t)0x8000)  /* Pin 15 selected   */
    8 B6 R) _: P$ h# O, l5 i$ C: Z
  40. #define GPIO_PIN_All               ((uint16_t)0xFFFF)  /* 选择所有引脚 *// e' O( g7 K: l; r' D
  41. ' f# s- e$ [/ \4 s. [0 D! T* c- t) F
  42. #define GPIO_PIN_MASK              (0x0000FFFFU)/*用于断言测试的PIN掩码*/
    3 a/ q* j8 f0 R
  43. 3 s0 M+ }$ ~. n0 P  z6 W4 _
  44. /*+ k, f4 G3 d9 l) [" K
  45. *GPIO配置模式' B+ n" \: I+ {8 V! \% ?2 s
  46. *        元素值约定:0xX0yz00YZ' A- v: u; l/ V/ s6 K
  47. *                -X:GPIO模式或EXTI模式' @5 n2 U% X8 T# f5 I4 {
  48. *                -y:外部IT或事件触发检测
    - I, l) K1 Q- Q/ B( d7 I
  49. *                -z:外部IT或事件上的IO配置
    & C5 N/ a9 j) F4 ?2 T
  50. *                -Y:输出类型(推挽或漏极开路)" o9 W; p, f2 W9 K! J* }
  51. *                -Z:IO方向模式(输入,输出,备用或模拟)' a* ^* |- H9 b+ U0 \) ?* @
  52. */
    & G0 T, N$ r( S" \% @- l/ R
  53. #define  GPIO_MODE_INPUT                        (0x00000000U)   /*输入浮动模式*/
    9 H* C- u8 |* `# Y
  54. #define  GPIO_MODE_OUTPUT_PP                    (0x00000001U)   /*输出推挽模式*/, E, l& J' ]$ Y/ ~  [6 [3 v
  55. #define  GPIO_MODE_OUTPUT_OD                    (0x00000011U)   /*输出漏极开路模式*/( M& o' R5 X+ R1 w
  56. #define  GPIO_MODE_AF_PP                        (0x00000002U)   /*备用功能推拉模式*/
    9 t& N7 i; c# ?8 b3 S
  57. #define  GPIO_MODE_AF_OD                        (0x00000012U)   /*替代功能开漏模式*/$ H$ d$ ^  ?, S/ }
  58. #define  GPIO_MODE_ANALOG                       (0x00000003U)   /*模拟模式*/
    1 U! \4 W5 q* i4 L% c# ]& K
  59. #define  GPIO_MODE_IT_RISING                    (0x10110000U)   /*具有上升沿触发检测的外部中断模式*/; J. v2 c- h) b! n' M
  60. #define  GPIO_MODE_IT_FALLING                   (0x10210000U)  /*具有下降沿触发检测的外部中断模式*/
    6 k. [4 ~# M/ t6 R: m$ E4 T: P
  61. #define  GPIO_MODE_IT_RISING_FALLING            (0x10310000U)  /*具有上升沿/下降沿触发检测的外部中断模式*/
    0 g3 V( w$ i2 x% B  D' h
  62. #define  GPIO_MODE_EVT_RISING                   (0x10120000U)   /*具有上升沿触发检测的外部事件模式*/& i( o0 \4 x- M2 r4 L  ~, i& r' i
  63. #define  GPIO_MODE_EVT_FALLING                  (0x10220000U)   /*具有下降沿触发检测的外部事件模式*/
    7 Q; T7 S, Z2 U+ m5 G8 J
  64. #define  GPIO_MODE_EVT_RISING_FALLING           (0x10320000U)   /*具有上升沿/下降沿触发检测的外部事件模式*/
    3 {. y$ f$ }9 A4 d

  65. : S( u5 _# w* T+ ^  ]. \+ a( [

  66. 2 z- S' y; h2 i" A
  67. /*3 U: ?4 e/ E3 I4 s: m
  68. *GPIO输出最大频率3 f! g8 T! \: o
  69. */
    + f) ~% t0 _2 t
  70. #define  GPIO_SPEED_FREQ_LOW        (0x00000000U)   /*范围最高5MHz*/5 e5 S7 L; P# v+ C& c
  71. #define  GPIO_SPEED_FREQ_MEDIUM     (0x00000001U)   /*范围5MHz至25MHz*/* U( c8 h  X/ Y& P9 t
  72. #define  GPIO_SPEED_FREQ_HIGH       (0x00000002U)   /*范围25MHz至50MHz*// s- v6 [* y- n$ \+ h4 E
  73. #define  GPIO_SPEED_FREQ_VERY_HIGH  (0x00000003U)  /*范围50MHz至80MHz*/
    4 @+ D/ |- {$ x/ u& G0 t

  74. * l7 S6 c6 d4 S5 n; o! R1 ^
  75. /*3 _4 Z1 s& x: m( O2 z* T
  76. *GPIO上拉或下拉激活
    , F$ D) W8 F) G% M% @4 p
  77. */7 T9 ^! G( [& Y9 |- q; o) d
  78. #define  GPIO_NOPULL        (0x00000000U)   /*无上拉或下拉激活*/
    2 h) @  ~( l4 {9 ]& m2 q
  79. #define  GPIO_PULLUP        (0x00000001U)   /*上拉激活*/
      `7 C# w2 e' |( t+ R% S! A
  80. #define  GPIO_PULLDOWN      (0x00000002U)   /*下拉激活*/
    , P; o/ {2 R' S5 G( @

  81.   ]& R; M& H- @" c; G- [! j+ H
  82. 0 U  K/ G% y6 L2 G+ `3 t
  83. /*
    & \* O0 k1 h3 b8 }, u& t* z, f0 V& G
  84. GPIO引脚安全或非安全属性
    9 ?. b. Z; B9 v
  85. */
    / a/ v: W! l; J0 c  E4 p
  86. #define  GPIO_PIN_SEC       (0x00000001U)  /*安全引脚属性*/; P! r1 p5 ^/ ^5 e7 T
  87. #define  GPIO_PIN_NSEC      (0x00000000U)  /*非安全引脚属性*/. b1 ~! E* b% F7 w2 L& U

  88. % c" V; f7 Q: y2 ?6 r) [# E
  89. : G' @: ~6 K1 F1 u) U& J
  90. 6 g8 y9 Z1 I7 q9 D3 r! `! u
  91. /**
    9 q& p/ z' o2 w! }
  92. *检查指定的EXTI行是否声明了上升沿。
    ) f8 b8 H( s: S1 g+ D0 Y
  93. */+ s. [) k/ @6 V' ~1 l# \
  94. #define __HAL_GPIO_EXTI_GET_RISING_IT(__EXTI_LINE__)         (EXTI->RPR1 & (__EXTI_LINE__))
    ; _4 k1 s9 A( y
  95. ; U7 u- n! q" B+ X& o  }. {; M4 Q' z( ?/ ]
  96. /**
    9 Y* Q" q2 I& a$ H: e
  97. *清除EXTI行上升的挂起位。
    / [5 {- x! g6 A2 P+ d* Y
  98. */
    ; T3 q0 f, |' q, b( b
  99. #define __HAL_GPIO_EXTI_CLEAR_RISING_IT(__EXTI_LINE__)       (EXTI->RPR1 = (__EXTI_LINE__))
    6 \( ?+ F! H* @; H

  100. + h7 x4 j0 L+ J' p$ @! r$ ^
  101. /**
    ( ?2 `. r/ o$ A1 P
  102. *检查指定的EXTI行是否已声明下降沿。  \, e  V, W6 p+ q0 v0 ^
  103. */
    4 a7 d, {# B! V2 H- E
  104. #define __HAL_GPIO_EXTI_GET_FALLING_IT(__EXTI_LINE__)        (EXTI->FPR1 & (__EXTI_LINE__))
    * U9 M, n9 R9 J

  105.   ^, e9 X( ~8 f
  106. /**
    % y6 e1 `7 o% r7 P3 c2 P9 m& L
  107. *清除EXTI行下降的挂起位。9 M0 l+ B' Q& }1 X" n
  108. */
    3 e4 N/ L2 r/ w
  109. #define __HAL_GPIO_EXTI_CLEAR_FALLING_IT(__EXTI_LINE__)      (EXTI->FPR1 = (__EXTI_LINE__))) z" @- ?3 Z; }/ W# ?  c
  110.   p) C" x) V0 y* H! i$ L! ?
  111. /**  O. L* w/ P! j! J! ~: v
  112. *检查指定的EXTI行是否有效。4 X" y, y5 \: e8 p3 @- e6 R
  113. */4 u% u  g7 U7 e' p) l0 k0 ?
  114. #define __HAL_GPIO_EXTI_GET_IT(__EXTI_LINE__)         (__HAL_GPIO_EXTI_GET_RISING_IT(__EXTI_LINE__) || \
    4 S3 F2 {& B; J7 `; D8 G
  115.                                                        __HAL_GPIO_EXTI_GET_FALLING_IT(__EXTI_LINE__)): O1 _5 o9 t( X* I

  116. . ~0 {. X# u- `+ ?8 L0 V- T- v& u( H
  117. /**
    " ?4 Q- i9 e: b  b; M! \
  118. *清除EXTI行暂挂位。
    6 [3 I5 d. |' |  L9 C. l- F3 f' j
  119. */" n. ^8 j1 [: {& v7 w. `# Q
  120. #define __HAL_GPIO_EXTI_CLEAR_IT(__EXTI_LINE__)         \, M; i5 ^3 J! c
  121.   do {                                                  \' u7 k$ P! r$ a# [
  122.     __HAL_GPIO_EXTI_CLEAR_RISING_IT(__EXTI_LINE__);     \
    5 |- j/ ^' s" ~" I, v3 a
  123.     __HAL_GPIO_EXTI_CLEAR_FALLING_IT(__EXTI_LINE__);    \
      d9 s8 \/ ^0 z9 h
  124.   } while(0)' l8 F3 Q0 S' a

  125.   ~% f) C6 Z1 N) I3 k7 G1 [

  126. $ [- n: y. D, K$ z, D% r- }4 N- }
  127. /**
    # s' ?2 l* _$ E& N; c7 H
  128. *在选定的EXTI行上生成软件中断。
    / ^2 l9 o& k! \* ~6 e, V6 ]$ I0 \
  129. */
    1 _0 c, ]8 j$ [1 g& S# _
  130. #define __HAL_GPIO_EXTI_GENERATE_SWIT(__EXTI_LINE__)  (EXTI->SWIER1 = (__EXTI_LINE__))2 @) h. ]9 r- h, d
  131. & H3 ~$ k# w3 F! P0 V
  132. /**
    - E. \/ A9 Y- @+ \) v; p
  133. *检查是否设置了指定的EXTI行标志。+ |, J- _9 J% R+ P8 @, }. q! h' F
  134. *// M2 U5 T4 w6 i" h  M2 `4 T
  135. #define __HAL_GPIO_EXTI_GET_FLAG(__EXTI_LINE__)       __HAL_GPIO_EXTI_GET_IT(__EXTI_LINE__)
    3 v7 `8 r& q& V' z3 }
  136. % }$ j8 x) `: [( i; e7 _
  137. /**- {+ S% ?8 H6 Y: [7 s' k  }
  138. *清除EXTI行挂起标志。
    5 _9 H7 p) X& w$ }! o% i" O
  139. */
      R0 c5 P, k' g3 o) o% S
  140. #define __HAL_GPIO_EXTI_CLEAR_FLAG(__EXTI_LINE__)     __HAL_GPIO_EXTI_CLEAR_IT(__EXTI_LINE__)
    2 a9 Z' v- k# T& s1 |
  141. + ]# l. q) Q4 b0 |$ q

  142. ! g( x% o/ \: V
  143. /*私有宏------------------------------------------------------------*/
    7 C  D# L/ d) X
  144. $ I; j% B" m% Z+ h% k6 f
  145. #define IS_GPIO_PIN_ACTION(ACTION)  (((ACTION) == GPIO_PIN_RESET) || ((ACTION) == GPIO_PIN_SET))
    ) b' W- Q4 Z$ r3 H. i; B3 g
  146. ' Z$ m. i4 K  i( x
  147. #define IS_GPIO_PIN(__PIN__)        ((((uint32_t)(__PIN__) & GPIO_PIN_MASK) != 0x00U) &&\" K5 N: z+ a( w% p
  148.                                      (((uint32_t)(__PIN__) & ~GPIO_PIN_MASK) == 0x00U))& Q# a  o) Y* r2 N

  149. / q" w0 c/ g0 T' ]. E
  150. #define IS_GPIO_MODE(__MODE__)      (((__MODE__) == GPIO_MODE_INPUT)              ||\
    0 V4 [, U8 ]4 O8 c  Z. u( ?9 |% _, f
  151.                                      ((__MODE__) == GPIO_MODE_OUTPUT_PP)          ||\
    3 J" g) ^0 E9 |
  152.                                      ((__MODE__) == GPIO_MODE_OUTPUT_OD)          ||\
    5 s0 M# Z2 X4 I/ g; R& l4 }6 J
  153.                                      ((__MODE__) == GPIO_MODE_AF_PP)              ||\, w: h8 e6 d5 P( i
  154.                                      ((__MODE__) == GPIO_MODE_AF_OD)              ||\7 e+ @" d" k- P
  155.                                      ((__MODE__) == GPIO_MODE_IT_RISING)          ||\1 v: `, z7 _4 U' O; ]! s  i. @
  156.                                      ((__MODE__) == GPIO_MODE_IT_FALLING)         ||\
    2 y; |/ A3 n3 B2 S! ?
  157.                                      ((__MODE__) == GPIO_MODE_IT_RISING_FALLING)  ||\6 U' V. R/ ]) o0 l7 @8 E# p" N% E* e
  158.                                      ((__MODE__) == GPIO_MODE_EVT_RISING)         ||\# Q3 q- J! [4 h
  159.                                      ((__MODE__) == GPIO_MODE_EVT_FALLING)        ||\7 m* l% K/ }! m
  160.                                      ((__MODE__) == GPIO_MODE_EVT_RISING_FALLING) ||\
    1 ^. g' w: T2 i: ~2 O0 Y2 x" B! V
  161.                                      ((__MODE__) == GPIO_MODE_ANALOG))2 @9 S$ O+ i! S) A* _

  162. ' i9 G6 V5 c( y2 q
  163. #define IS_GPIO_SPEED(__SPEED__)    (((__SPEED__) == GPIO_SPEED_FREQ_LOW)    ||\
    & L) R, E2 s3 I1 o" B$ W: @- F
  164.                                      ((__SPEED__) == GPIO_SPEED_FREQ_MEDIUM) ||\& N) F- c+ \1 J3 B/ q) X
  165.                                      ((__SPEED__) == GPIO_SPEED_FREQ_HIGH)   ||\
    ' T! i4 `5 c0 i, T
  166.                                      ((__SPEED__) == GPIO_SPEED_FREQ_VERY_HIGH))1 @7 o2 O* e$ w- ~+ r6 ?

  167. 2 i( D6 y% G3 S" E: e
  168. #define IS_GPIO_PULL(__PULL__)      (((__PULL__) == GPIO_NOPULL)   ||\
    $ ?5 S! C: {3 C; Q
  169.                                      ((__PULL__) == GPIO_PULLUP)   || \
    6 M$ p4 d3 U& S# X* L* O6 n" [
  170.                                      ((__PULL__) == GPIO_PULLDOWN))
    ' |$ D3 G+ b- r' h, s
  171.   \! R- I* _2 R! f$ |! M
  172. #if defined (__ARM_FEATURE_CMSE) && (__ARM_FEATURE_CMSE == 3U)! J, W% Z8 r, w: }7 \
  173. 5 ~  E" ?0 ?8 m) O/ r
  174. #define IS_GPIO_PIN_ATTRIBUTES(__ATTRIBUTES__)  (((__ATTRIBUTES__) == GPIO_PIN_SEC)  ||\: k, N0 s% v7 H7 H8 s5 j" Q( G
  175.                                                  ((__ATTRIBUTES__) == GPIO_PIN_NSEC))5 p9 D% e5 I2 e
  176. : _$ R% A4 A' i( k! L
  177. #endif /* __ARM_FEATURE_CMSE */
      ~% z' j' Q: F
  178. 5 m+ [" c" R4 c9 V1 w4 w

  179. 2 z2 u& q. J; f+ @7 k1 A
  180. ' {- }/ {0 X# F
  181. + O9 C7 w5 n" M. r; |; o+ d
  182. /*初始化和取消初始化功能*****************************/
    4 R  y5 \6 _! @2 O# v
  183. void              HAL_GPIO_Init(GPIO_TypeDef  *GPIOx, GPIO_InitTypeDef *GPIO_Init);
    4 I) R1 v4 z6 S8 H+ o
  184. void              HAL_GPIO_DeInit(GPIO_TypeDef  *GPIOx, uint32_t GPIO_Pin);: L/ z" y& g, ?! B' i6 C3 i2 ^

  185. ! K7 l! i" [$ @

  186. ; V: j+ z# d3 V. E  B0 R! J
  187. /*IO操作功能*****************************************************/8 k8 u2 L/ s, n: M
  188. GPIO_PinState     HAL_GPIO_ReadPin(GPIO_TypeDef *GPIOx, uint16_t GPIO_Pin);
    $ u7 t+ x: @# B0 t# |" z% p# }5 T* {
  189. void              HAL_GPIO_WritePin(GPIO_TypeDef *GPIOx, uint16_t GPIO_Pin, GPIO_PinState PinState);
      O0 m, {) b9 E3 l* r8 D; L
  190. void              HAL_GPIO_TogglePin(GPIO_TypeDef *GPIOx, uint16_t GPIO_Pin);" H$ Q) _1 f) T2 _3 f' \% r! B
  191. HAL_StatusTypeDef HAL_GPIO_LockPin(GPIO_TypeDef *GPIOx, uint16_t GPIO_Pin);
    9 h" V. I- h+ c- j  C
  192. void              HAL_GPIO_EXTI_IRQHandler(uint16_t GPIO_Pin);/ k0 _/ j0 L7 c& T: v
  193. void              HAL_GPIO_EXTI_Rising_Callback(uint16_t GPIO_Pin);! Y: u, w, E* q/ q  r
  194. void              HAL_GPIO_EXTI_Falling_Callback(uint16_t GPIO_Pin);
      c+ E* v' Y( f2 ~  g
  195. . _- h, T" m( |. c) c  B: G
  196. & |) l+ `5 H: A  y8 v* N. ^: {/ A6 X. V
  197. , L% `4 j- L4 k6 B, u' a
  198. /*IO属性管理功能*********************************************/
    ! m1 ^1 a3 t5 t; n" r& q
  199. void              HAL_GPIO_ConfigPinAttributes(GPIO_TypeDef* GPIOx, uint16_t GPIO_Pin, uint32_t PinAttributes);: ~$ \3 X  s- j6 x1 p' m2 i5 D
  200. HAL_StatusTypeDef HAL_GPIO_GetConfigPinAttributes(GPIO_TypeDef* GPIOx, uint16_t GPIO_Pin, uint32_t *pPinAttributes);! W, b& B& y; r8 J; ~# M, E
  201. 3 R+ N% E4 E; A% t- Q+ ~& p
复制代码

, g+ L5 i6 q: H) L! B" g; _0 Q
! V, x* T& d6 F8 `; V! L( h9 {- b! W% u+ e) F, P

4 \, H- L* ]1 |' u
0 ^1 ]* _: b5 I" }
赞 收藏 评论0 发布时间:2020-3-22 22:02

举报

0个回答
关于
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
意法半导体官网
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
官方最新发布
人形机器人运动控制、感知与智能配电
半导体创新技术与应用方向
EE架构与软件定义汽车
12V/48V 汽车智能配电(SPD)
区域控制单元(ZCU)与分区架构
关注我们
st-img 微信公众号
st-img 手机版