打印
[AT32F405]

【AT-START-F405测评】构建流水灯工程

[复制链接]
1223|0
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
      收到开发板有段时间了,上班时间比较忙,趁五一长假,来分享一下试用该板卡的心得体会。
      前期笔者已将关于该板卡的资料包下载好了,通过雅特力官网获取,板子还是一如既往采用白色涂层,外设资源丰富,开发板搭载AT32F405RCT7-7主控芯片,两组USB type-C和type-A的连接器,Arduino Uno R3扩展接口,外扩16M字节SPI闪存存储器足够大型项目的需求,而且板卡自带AT-Link-EZ调试烧录工具,不需接入额外开发工具即可对芯片调试使用,支持AT32 Workbench图形化配置软件。

        由上图可知,板卡自带的AT-Link-EZ调试模块可独立使用,调试部分的主芯片AT32F403ACCT7,性能也是非常强大。硬件对应的分布图如下:

       背面布设了少量电容电阻,过孔,电路走线清晰可见,设计精美。

       此次借助雅特力官方主推的“AT32 Workbench图形化配置软件”搭建点灯工程。官网提供的软件包是免安装绿色版,解压后直接打开exe文件即可。按照如下指引,可创建一个点灯工程框架。

        结合“01_Schematic”文件夹下的“AT_START_F405_V1.0_SCH”原理图,可知板上三颗用户LED的管脚分布。
AT_START_F405_V1.0_SCH.pdf (221.56 KB)


       时钟树默认配置即可。

       代码预览如下图所示:

      接下来可以将配置信息导出成相应的工程,选择Keil V5平台,导入本地的固件包,即“AT32F402_405_Firmware_Library_V2.0.6.zip”文件。


     加载完毕后,工具自动识别、列表显示到对应主控下。

       由于导出的工程是基于Keil工具的,因此需要安装pack支持包,“ArteryTek.AT32F402_405_DFP.2.0.5.pack”官网有提供。
ArteryTek.AT32F402_405_DFP.2.0.5.zip (312.92 KB)

         打开创建的工程,在main.c文件中,添加小部分代码,即可让LED2、LED3、LED4依次闪烁。
/* Includes ------------------------------------------------------------------*/
#include "at32f402_405_wk_config.h"

/* private includes ----------------------------------------------------------*/
/* add user code begin private includes */

/* add user code end private includes */

/* private typedef -----------------------------------------------------------*/
/* add user code begin private typedef */

/* add user code end private typedef */

/* private define ------------------------------------------------------------*/
/* add user code begin private define */

/* add user code end private define */

/* private macro -------------------------------------------------------------*/
/* add user code begin private macro */

/* add user code end private macro */

/* private variables ---------------------------------------------------------*/
/* add user code begin private variables */
void delay(int num)
{
        int i ,j;
        for(i = 5000;i>0; i--)
        {
                for(j = 0;j<1000;j++);
        }
}
/* add user code end private variables */

/* private function prototypes --------------------------------------------*/
/* add user code begin function prototypes */

/* add user code end function prototypes */

/* private user code ---------------------------------------------------------*/
/* add user code begin 0 */

/* add user code end 0 */

/**
  * [url=home.php?mod=space&uid=247401]@brief[/url] main function.
  * @param  none
  * @retval none
  */
int main(void)
{
  /* add user code begin 1 */

  /* add user code end 1 */

  /* system clock config. */
  wk_system_clock_config();

  /* config periph clock. */
  wk_periph_clock_config();

  /* nvic config. */
  wk_nvic_config();

  /* init gpio function. */
  wk_gpio_config();

  /* add user code begin 2 */

  /* add user code end 2 */

  while(1)
  {
    /* add user code begin 3 */
                gpio_bits_toggle(GPIOF,LED2_PIN);
    delay(1000);
    gpio_bits_toggle(GPIOF,LED3_PIN);
    delay(1000);
    gpio_bits_toggle(GPIOF,LED4_PIN);
    delay(1000);
    /* add user code end 3 */
  }
}
      闪灯效果如下图所示:



使用特权

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

本版积分规则

97

主题

1009

帖子

6

粉丝