找回密码
 注册
关于网站域名变更的通知
查看: 1443|回复: 3
打印 上一主题 下一主题

ARM_ cortex M4国产处理器(AT32F403ZGT6)

[复制链接]

该用户从未签到

跳转到指定楼层
1#
发表于 2019-8-6 10:53 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

EDA365欢迎您登录!

您需要 登录 才可以下载或查看,没有帐号?注册

x
一、AT32F403ZGT6介绍
  • 效能/性能/ u' {6 q9 e* F. D
    • ARM® Cortex®-M4主频最& W5 H) g9 W+ ?4 M6 ?5 ^- u
      高200MHz
    • 单精度浮点运算单元
    • 內存执行零等待技术
    • 2.6V ~ 3.6V 供电电压
    • I/Os 可承受 5V 电平
    • 温度范围-40 ~ +85°C  m  j  Q; ^% r+ F3 {

      ) s# K7 z# k/ g' ]. t6 d
  • 內存
    ! v( b, s" ~' a6 f4 Q2 B
    • 高达1MB闪存
    • 高达224KB SRAM0 ^3 S3 @7 d2 O  @9 b4 L
      1 X+ e9 C" d4 q, h, r4 c" Q
  • 时钟
    ; J, l. c/ n+ x! \9 |
    • PLL (200 MHz输出)
    • 外部高速 4 ~ 16 MHz晶体振荡器
    • 内部高速 8MHz RC振荡器(-40°C ~ 85°C)
    • 外部低速 32.768kHz RTC 晶体振荡器
    • 内部低速 40kHz RC振荡器/ T+ C2 h5 R3 g" ?  N

      2 `* |' I5 J  r" {2 o+ z& [
  • 复位和电源管理
    • 上电/断电复位(POR/PDR)
    • 可编程电压监测器(PVD)  G; d( g6 K0 m. L9 \' B2 _

      : K' B6 l3 z7 z- E: x- t6 U
  • 仿真高性能外设% G+ K3 _+ O/ U+ n. k
    • 3组2M采样速率12位A/D转换器(21通道)
    • 2通道12位D/A转换器
      / z  ?) |) j2 i/ W9 s
      ( P) b$ q6 T8 e1 [7 i/ m4 u7 l6 _

    1 p9 w) |; d  }+ g- b- y' i

: ^/ r$ g+ W5 W* M% v
  • 定时器' }5 r: c. Y" V/ K
    • 3个16位带死区控制PWM高级控制定时器
    • 2个32位, 8个16位通用定时器
    • 2个看门狗定时器(独立和窗口型)
    • 2个16位基本定时器(驱动DAC)
    • 1个系统时间定时器: 24位自减型
      & c7 Y! o5 t8 B4 _. k8 W
      - S, b/ u, @; j7 K7 [
  • 外设接口  n9 G* Y) T' P8 D& T
    • 3 x I2C
    • 4 x SPI / I2S (SPI可达50MHz)
    • 3 x USART + 2 x UART
    • 2 x SDIO
    • USB 2.0 全速接口
    • CAN 2.0B
      9 Q% d1 L3 a, r

      ; b  K+ z* T" o8 j" F1 Z! ^- e4 b
  • DMA
    $ t" e0 @6 _1 Y' A6 Z- `/ x
    • 12通道, 支持定时器、ADC、DAC、SDIO、I2S、SPI、I2C和USART6 O) M# ?* E5 h/ ?1 p2 V- |- q8 N) A
      0 W# r! M# T7 y* y- T: j+ W
  • XMC4 G5 [+ m1 W1 X& h! ?
    • 支持CF卡、SRAM、PSRAM、NOR和NAND存储器
    • 支持并行LCD接口, 兼容8080/6800模式
      0 k+ L! B) H; w, y

      . K  G  `9 {  W. V8 \+ t. f8 t
  • SPIM
    ' P8 d$ G2 S. {7 b
    • 外部 SPI Flash memory 扩展(程序执行/数据储存/程序与数据可加密)
      " s4 S5 ?+ [! @* h5 h4 B) ?$ e) w

      5 _! j, S" ]8 y% X
  • 封装: p9 N2 B- s( ^- f) e
    • 48/64/100/144-pin LQFP
    • 48-pin QFN
      . o, {5 L* D9 |( N

    ; v$ ]) l  C, x. C5 X

$ g" Q! u4 A' ^% y; d: o1 O2 p3 a/ q' @
' T& \2 V0 z) m! L3 e
# m0 {+ |" x/ _. M) O! n

) W" d: j6 R- s8 Y9 ^7 ]
9 @$ Z: D1 G' C. ^5 }

5 k; I9 L2 Z, @. M; z0 E- v8 O6 e( ~% L
1 p' R. w  {& Z" x- v
5 m8 m2 G7 q/ x- Z: P
+ \' y& }5 ?1 o% ]* S2 Q
* h  E! l4 p# |2 r) n

& q6 {9 q% [% D: O0 v& `5 _8 v) E: k7 @) \5 C  S, q

% r& k3 ?' X' Q. y
; Y; w: S- |; Q9 t' w- |

7 B7 Y. J) T9 T+ ~; d
9 }/ x6 `; W6 H6 `$ t' G4 N

+ Q; I$ p  K* M* [. Z; B% N6 t# A) f( M$ V" j

" }7 [1 @, X; _7 X# Z$ C
+ B: |9 M9 o; H' P! q( ?) t% d
! m. z! Y" r  t3 q5 R1 u
  d% j$ u7 L/ N" P4 _5 O

& ~5 i2 G( P# H8 [% X& J% }. x: h. V# z& ]! B+ a

7 z: M9 P7 L0 C8 V0 E
8 D/ C2 [2 k6 h% S8 U# o7 c6 g

( H/ g1 q6 d& A  h8 z3 |0 \
/ ^# v, ~( e0 H& |
1 _% ^/ V/ H# D# j( E$ o

/ ]0 `9 u# W/ X9 ~

3 Z1 y4 z5 f1 c1 U' R7 p0 ^" r& C6 u; X
' d4 K5 f: u  F. g& I: N) x
, \' I& W0 @# \: d

9 e; K2 w  T1 ]5 u# n; y
9 k2 d; x" |5 o) P8 n7 ?, V: W9 ^! o
. Z8 B7 G, L' G/ m
& K: C. c8 @+ ~3 t3 y

; `6 K* T; e- G% D
6 Q$ b: B' g3 N8 T
7 @* ]+ K. O% V; L

" C$ [! L( J; m# f1 K1 |

! n" I7 `1 f& }0 Q+ V
% e7 W. a7 n$ M8 ~, k  s+ @+ h1 }
1 j  l7 m5 `* ~& w5 ^3 ~
# J0 x! ^  t( x. c
) ~# ^9 w# P! w' y+ E
! M' f0 Z, c) ~6 b
7 X' U" q% E$ G2 s# U5 b
二、点亮LED灯# Z& ]0 Y& j) }! p% b" H
4 M+ j& \' j+ j+ |, x. ]2 J0 P
点亮LED并结合系统滴答时钟进行精确延时
! e+ w( Q' [3 ?9 w3 V
  • #include "systick.h"5 |' }( s* j3 N, c3 T% f
  • 9 K( \" V! {, u6 z! b, ~" S4 F+ C
  • 4 c% T/ C& }  m& y0 M3 m
  • static u8 fac_us;
    , A6 m* C- c  k# I* i6 i2 f% P
  • static u16 fac_ms;
    % ^3 c1 ?% R; w5 }) z9 x: b. M
  • & Z$ _" \, _) Z; j* b
  • void systick_init(u8 sys_clock)$ ~: S, K, A9 Q  K
  • {
      p' _7 \+ b8 r" Z
  •         SysTick_CLKSourceConfig(SysTick_CLKSource_HCLK);
    # _9 i1 T# n# n8 j0 Y0 ?- C
  •         
    8 c0 m9 ]  X$ }2 P
  •         fac_us=sys_clock;' M# h. q) S/ ~, X$ |) \6 v
  •         fac_ms=(u16)fac_us*1000;7 C- y. W- [5 C& _0 [, W' Q
  • }3 I, m+ f( V. r4 u3 a

  • ; |; \, w, V5 }+ V
  • //'nus'<=83886
    0 u7 _1 q) L) f
  • void delay_us(u32 nus): i% i  y0 V/ z: ~0 @2 Y  ~
  • {$ e" {9 U9 [8 }& Z5 l( M
  •         u32 temp;
    0 H) r, S0 P$ G0 |. g
  •         5 n: F( c- e6 Y
  •         SysTick->VAL=0;
    ! p8 V( Q7 ^& [# f' c& ^
  •         SysTick->LOAD=nus*fac_us;
    ) u# N, R+ g  d- h9 z6 p* R
  •         SysTick->CTRL|=0x01;
    / p8 y2 o0 ]7 h8 q7 X. Y8 v
  •         - r' p7 }" p  `
  •         do
    ' O9 ~5 z7 Z# j& Y
  •         {
    $ W" I- K  A! f+ g" w) P
  •                 temp=SysTick->CTRL;8 `* h% X8 D! P1 _/ q
  •         }while((temp&0x01)&&!(temp&(1<<16)));
    . b2 p8 V( L+ S* D) V; _
  •         SysTick->CTRL&=~0x01;: N2 @; a( ~# u) B5 _! [' c
  •         SysTick->VAL=0;  G2 d- N; ^. ]* [' |
  • }
    ' \* S3 d; Y0 ^& s: M  P& R4 |+ d( p

  • ; t$ I+ h& ~9 K: b. R
  • //'nus'<=83
    & q9 F. D/ |. E3 ^* D$ w5 }
  • static void delay_nms(u8 nms): X- d! ]6 ?' F4 y) y% \4 J
  • {
    7 m. ~# i8 k2 g6 P
  •         u32 temp;
    6 L! }0 O+ U& ^  o* ]
  •         
    - b* U1 z0 j& t1 l6 K! ]
  •         SysTick->VAL=0;% A# M& C2 c' f( g  b6 T) `
  •         SysTick->LOAD=nms*fac_ms;
    + _7 Q- a; {* ]1 v
  •         SysTick->CTRL|=0x01;0 G9 Z0 ^* _6 Q( L; ~9 t
  •         
    . r  n: A/ T6 W+ P0 d" \
  •         do; B7 a) K8 ]3 d- w% N' \
  •         {: z" |1 l( r$ {- V7 H  s
  •                 temp=SysTick->CTRL;3 }% [& K* ^" L9 \
  •         }while((temp&0x01)&&!(temp&(1<<16)));8 J- c, o% A/ j9 Z9 l0 T+ E8 \
  •         SysTick->CTRL&=~0x01;
    1 E2 `3 G7 Q! b  ?/ f* e' {5 C
  •         SysTick->VAL=0;
    2 D9 @) K/ f' c
  • }/ b' }  Q: ]/ A3 p" J

  • 9 _: A* @7 q: }7 W( s
  • 9 H  f" x7 X) {, @* B. P) Q! L
  • void delay_ms(u32 nms)% a. r4 X4 ?, R$ L0 b9 A" v. o  a
  • {
    4 c$ @3 W/ Y; ?+ G5 D
  •         u8 yushu=nms%50;
    : c2 m5 \& K3 j) B; @6 l% [
  •         u32 zhengshu=nms/50;, b7 R: ^  z% D3 i" [: q( d
  •         ; g8 g2 t' p: k; I  H5 `0 V3 ~
  •         while(zhengshu)
    ' `; b2 O# h; m' G
  •         {
    8 N2 a/ u( Z) k) }" H: b0 B
  •                 delay_nms(50);$ L+ \% u+ N$ C. \8 r# }4 ^6 l
  •                 zhengshu --;3 ]8 x! `/ S8 M- Q
  •         }) d) n/ G+ Z3 U) g
  •         if(yushu)
    ; w  D% Y6 {$ K- w4 j
  •         {# \  r0 Y" i4 Y
  •                 delay_nms(yushu);
    . x1 ^/ {0 Z, }
  •         }
    9 P7 b$ P' q- N6 C, a) I0 R
  • }
    6 h: `3 A, F6 y. p# }3 j4 ]

  • - K+ ~% V  l3 K6 \; [8 k
) u% F8 ~5 I& N8 a' ~  v0 c" u9 `
3 e3 M# k+ d( f1 ^5 p

, O. I) h0 S5 T4 @4 Y- c5 X2 W
  • #include "led.h"+ c) w; z+ _- X4 ]0 _' m0 R3 }

  • - \3 g' `  s8 f

  • & q: o# E  `  z% `
  • void led_config(void)9 s0 z0 I& C" k
  • {
    , e; ?/ J2 }4 J) E1 S
  •         GPIO_InitType GPIO_Initstructure;% E% Q2 Y1 J( n/ |3 d
  •         
    6 R8 a0 h& Q" o
  •         RCC_APB2PeriphClockCmd(RCC_APB2PERIPH_GPIOD,ENABLE);7 y5 q$ _" J3 y0 P- p
  •         
    ( n8 [+ I: L  \. A) _' r
  •         GPIO_Initstructure.GPIO_MaxSpeed=GPIO_MaxSpeed_50MHz;
    + s' j4 J( p/ r& N$ s, q
  •         GPIO_Initstructure.GPIO_Mode=GPIO_Mode_OUT_PP;
      q, P3 V  ?5 a/ z9 a' p! g% m- p* H1 c
  •         GPIO_Initstructure.GPIO_Pins=GPIO_Pins_13|GPIO_Pins_14|GPIO_Pins_15;- G2 x: v2 r- y. ~
  •         
    & ], s, X0 `  I0 \" ]
  •         GPIO_Init(GPIOD,&GPIO_Initstructure);! D0 ]/ n0 V' K& c- c
  •         
    1 O* v# V* {! S' W
  •         GPIO_SetBits(GPIOD,GPIO_Pins_13|GPIO_Pins_14|GPIO_Pins_15);0 Y. Q5 G; U( t( \9 ]& c
  • }4 G" u/ y  Y, L- n% ]8 l
  • 0 P$ n2 o3 k* I, m! P

  • 0 X! e- g- X* ~7 N
  •         ( K3 G; m; L& [7 G9 z$ m
  • + [9 Y0 o+ w1 o9 q* R
  • 3 s! C4 _" }& J% U
( c2 d( P$ ^( I9 }. T+ q6 P, y

. E6 a+ P9 Y+ a4 b, h* G
/ h9 G, e% s5 E1 b
# O! y5 h! B, w
* P" s; z1 f& x! \/ A7 h

, r9 ]0 H) t  h9 P1 O三、简单总结
$ t( y& r/ f( Z, I( V通过试用并对比了STM32、GD32和华芯威特等M4处理器,该处理器系统时钟在同系列里具有较高主频,丰富的外设,且代码风格与STM32很像,在国产mcu中具有较高的性价比。
/ i6 ]! D# a; S5 c+ ~  H9 ~- e8 H8 j3 G# l4 |6 N
9 B2 v0 n; Y  v& i" v' `1 S  |

. u+ b( w# }' V( u* K4 q+ V- _

/ V! U" Q8 l/ L% }( Z9 I$ Q+ k- o, @4 Y$ P2 h

+ c8 J4 I" j; w8 L* @
6 o# v: I7 v! F2 }5 `
8 T# n, S1 F& ?0 J. B) C% s
7 m( q2 R7 D* d" u# m
' ^3 ^8 L4 H2 ]/ H( Q2 e4 v

7 x! _) `$ x# A% {- a7 ^1 A
3 R0 s( O) y! N4 L) `: @( o
2 }; a8 N; Q" ]- Q8 [; q
& z' d- Q0 f$ D8 ?8 _( S

3 C. S7 e6 W0 p; R' G

# o) J8 ?' L4 [4 E* h1 ?% O; Q0 d: Y
+ E. H4 j, R% s  n6 b+ A' M4 D

  C/ F! W" C3 W8 G# c
' L) t! G! ~+ b' F" w! @

! l! Z/ N* o8 B0 D6 S; [

  z# j7 s$ N# G2 X( h* Q
  r* x3 T7 @4 b& X  g/ J, G/ T" A" [; R

该用户从未签到

3#
发表于 2019-9-21 15:04 | 只看该作者
请问这款,有没有源码

该用户从未签到

4#
发表于 2019-9-23 09:20 | 只看该作者
写得有点乱!
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

推荐内容上一条 /1 下一条

EDA365公众号

关于我们|手机版|EDA365电子论坛网 ( 粤ICP备18020198号-1 )

GMT+8, 2025-11-25 01:23 , Processed in 0.187500 second(s), 23 queries , Gzip On.

深圳市墨知创新科技有限公司

地址:深圳市南山区科技生态园2栋A座805 电话:19926409050

快速回复 返回顶部 返回列表