[ARM入门]

一款高性能的国产ARM_ cortex M4处理器(AT32F403ZGT6)

[复制链接]
4960|3
手机看帖
扫描二维码
随时随地手机跟帖
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闪存存储器。

901835ce50db94e818.png
三、点亮LED灯

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


static u8 fac_us;
static u16 fac_ms;

void systick_init(u8 sys_clock)
{
        SysTick_CLKSourceConfig(SysTick_CLKSource_HCLK);
       
        fac_us=sys_clock;
        fac_ms=(u16)fac_us*1000;
}

//'nus'<=83886
void delay_us(u32 nus)
{
        u32 temp;
       
        SysTick->VAL=0;
        SysTick->LOAD=nus*fac_us;
        SysTick->CTRL|=0x01;
       
        do
        {
                temp=SysTick->CTRL;
        }while((temp&0x01)&&!(temp&(1<<16)));
        SysTick->CTRL&=~0x01;
        SysTick->VAL=0;
}

//'nus'<=83
static void delay_nms(u8 nms)
{
        u32 temp;
       
        SysTick->VAL=0;
        SysTick->LOAD=nms*fac_ms;
        SysTick->CTRL|=0x01;
       
        do
        {
                temp=SysTick->CTRL;
        }while((temp&0x01)&&!(temp&(1<<16)));
        SysTick->CTRL&=~0x01;
        SysTick->VAL=0;
}


void delay_ms(u32 nms)
{
        u8 yushu=nms%50;
        u32 zhengshu=nms/50;
       
        while(zhengshu)
        {
                delay_nms(50);
                zhengshu --;
        }
        if(yushu)
        {
                delay_nms(yushu);
        }
}
#include "led.h"


void led_config(void)
{
        GPIO_InitType GPIO_Initstructure;
       
        RCC_APB2PeriphClockCmd(RCC_APB2PERIPH_GPIOD,ENABLE);
       
        GPIO_Initstructure.GPIO_MaxSpeed=GPIO_MaxSpeed_50MHz;
        GPIO_Initstructure.GPIO_Mode=GPIO_Mode_OUT_PP;
        GPIO_Initstructure.GPIO_Pins=GPIO_Pins_13|GPIO_Pins_14|GPIO_Pins_15;
       
        GPIO_Init(GPIOD,&GPIO_Initstructure);
       
        GPIO_SetBits(GPIOD,GPIO_Pins_13|GPIO_Pins_14|GPIO_Pins_15);
}


       

四、结果显示

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

LED

LED

使用特权

评论回复
评论
zeshoufx 2019-5-23 08:43 回复TA
@SK1688 :最近 在学习调试,,,大家可以一起交流 
SK1688 2019-5-22 18:37 回复TA
用过很多项目,很好用,性价比最高的ARM MCU 

相关帖子

hua_ren| | 2020-6-29 14:23 | 显示全部楼层
最近关注这个系列的MCU。希望可以用得到。。。

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

66

主题

1945

帖子

14

粉丝