[ARM入门] 一款高性能的国产ARM_ cortex M4处理器(AT32F403ZGT6)

[复制链接]
 楼主| zeshoufx 发表于 2019-5-22 17:03 | 显示全部楼层 |阅读模式
一、AT32F403ZGT6介绍
  • 效能/性能
    • ARM® Cortex®-M4主频最
      高200MHz
    • 单精度浮点运算单元
    • 內存执行零等待技术
    • 2.6V ~ 3.6V 供电电压
    • I/Os 可承受 5V 电平
    • 温度范围-40 ~ +85°C
  • 內存
    • 高达1MB闪存
    • 高达224KB SRAM
  • 时钟
    • PLL (200 MHz输出)
    • 外部高速 4 ~ 16 MHz晶体振荡器
    • 内部高速 8MHz RC振荡器(-40°C ~ 85°C)
    • 外部低速 32.768kHz RTC 晶体振荡器
    • 内部低速 40kHz RC振荡器
  • 复位和电源管理
    • 上电/断电复位(POR/PDR)
    • 可编程电压监测器(PVD)
  • 仿真高性能外设
    • 3组2M采样速率12位A/D转换器(21通道)
    • 2通道12位D/A转换器

  • 定时器
    • 3个16位带死区控制PWM高级控制定时器
    • 2个32位, 8个16位通用定时器
    • 2个看门狗定时器(独立和窗口型)
    • 2个16位基本定时器(驱动DAC)
    • 1个系统时间定时器: 24位自减型
  • 外设接口
    • 3 x I²C
    • 4 x SPI / I²S (SPI可达50MHz)
    • 3 x USART + 2 x UART
    • 2 x SDIO
    • USB 2.0 全速接口
    • CAN 2.0B
  • DMA
    • 12通道, 支持定时器、ADC、DAC、SDIO、I²S、SPI、I²C和USART
  • XMC
    • 支持CF卡、SRAM、PSRAM、NOR和NAND存储器
    • 支持并行LCD接口, 兼容8080/6800模式
  • SPIM
    • 外部 SPI Flash memory 扩展(程序执行/数据储存/程序与数据可加密)
  • 封装
    • 48/64/100/144-pin LQFP
    • 48-pin QFN


二、开发板
AT-START-F403帮助你探索发现 带有FPU内核 ARM Cortex ® -M4F 32位处理器AT32F403的高性能特
性,并帮助你开发应用。
AT-START-F403基于AT32F403ZGT6芯片,包括LED灯,按钮,一个USB的micro-B连接器,
Arduino TM Uno R3扩展接口,和扩充的16 M字节SPI闪存存储器。


三、点亮LED灯

使用该开发板进行简单入手,点亮LED并结合系统滴答时钟进行精确延时
  1. #include "systick.h"


  2. static u8 fac_us;
  3. static u16 fac_ms;

  4. void systick_init(u8 sys_clock)
  5. {
  6.         SysTick_CLKSourceConfig(SysTick_CLKSource_HCLK);
  7.        
  8.         fac_us=sys_clock;
  9.         fac_ms=(u16)fac_us*1000;
  10. }

  11. //'nus'<=83886
  12. void delay_us(u32 nus)
  13. {
  14.         u32 temp;
  15.        
  16.         SysTick->VAL=0;
  17.         SysTick->LOAD=nus*fac_us;
  18.         SysTick->CTRL|=0x01;
  19.        
  20.         do
  21.         {
  22.                 temp=SysTick->CTRL;
  23.         }while((temp&0x01)&&!(temp&(1<<16)));
  24.         SysTick->CTRL&=~0x01;
  25.         SysTick->VAL=0;
  26. }

  27. //'nus'<=83
  28. static void delay_nms(u8 nms)
  29. {
  30.         u32 temp;
  31.        
  32.         SysTick->VAL=0;
  33.         SysTick->LOAD=nms*fac_ms;
  34.         SysTick->CTRL|=0x01;
  35.        
  36.         do
  37.         {
  38.                 temp=SysTick->CTRL;
  39.         }while((temp&0x01)&&!(temp&(1<<16)));
  40.         SysTick->CTRL&=~0x01;
  41.         SysTick->VAL=0;
  42. }


  43. void delay_ms(u32 nms)
  44. {
  45.         u8 yushu=nms%50;
  46.         u32 zhengshu=nms/50;
  47.        
  48.         while(zhengshu)
  49.         {
  50.                 delay_nms(50);
  51.                 zhengshu --;
  52.         }
  53.         if(yushu)
  54.         {
  55.                 delay_nms(yushu);
  56.         }
  57. }
  1. #include "led.h"


  2. void led_config(void)
  3. {
  4.         GPIO_InitType GPIO_Initstructure;
  5.        
  6.         RCC_APB2PeriphClockCmd(RCC_APB2PERIPH_GPIOD,ENABLE);
  7.        
  8.         GPIO_Initstructure.GPIO_MaxSpeed=GPIO_MaxSpeed_50MHz;
  9.         GPIO_Initstructure.GPIO_Mode=GPIO_Mode_OUT_PP;
  10.         GPIO_Initstructure.GPIO_Pins=GPIO_Pins_13|GPIO_Pins_14|GPIO_Pins_15;
  11.        
  12.         GPIO_Init(GPIOD,&GPIO_Initstructure);
  13.        
  14.         GPIO_SetBits(GPIOD,GPIO_Pins_13|GPIO_Pins_14|GPIO_Pins_15);
  15. }


  16.        

四、结果显示

五、简单总结
通过试用并对比了STM32、GD32和华芯威特等M4处理器,该处理器系统时钟在同系列里具有较高主频,丰富的外设,且代码风格与STM32很像,在国产MCU中具有较高的性价比。

本帖子中包含更多资源

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

×

评论

@SK1688 :最近 在学习调试,,,大家可以一起交流  发表于 2019-5-23 08:43
用过很多项目,很好用,性价比最高的ARM MCU  发表于 2019-5-22 18:37
hua_ren 发表于 2020-6-29 14:23 | 显示全部楼层
最近关注这个系列的MCU。希望可以用得到。。。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

67

主题

1989

帖子

15

粉丝
快速回复 在线客服 返回列表 返回顶部