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

[复制链接]
 楼主| yinwuqing110 发表于 2024-5-3 19:50 | 显示全部楼层 |阅读模式
      收到开发板有段时间了,上班时间比较忙,趁五一长假,来分享一下试用该板卡的心得体会。
      前期笔者已将关于该板卡的资料包下载好了,通过雅特力官网获取,板子还是一如既往采用白色涂层,外设资源丰富,开发板搭载AT32F405RCT7-7主控芯片,两组USB type-C和type-A的连接器,Arduino Uno R3扩展接口,外扩16M字节SPI闪存存储器足够大型项目的需求,而且板卡自带AT-Link-EZ调试烧录工具,不需接入额外开发工具即可对芯片调试使用,支持AT32 Workbench图形化配置软件。
正面.jpg
        由上图可知,板卡自带的AT-Link-EZ调试模块可独立使用,调试部分的主芯片AT32F403ACCT7,性能也是非常强大。硬件对应的分布图如下:
分布图.png
       背面布设了少量电容电阻,过孔,电路走线清晰可见,设计精美。
背面.jpg
       此次借助雅特力官方主推的“AT32 Workbench图形化配置软件”搭建点灯工程。官网提供的软件包是免安装绿色版,解压后直接打开exe文件即可。按照如下指引,可创建一个点灯工程框架。
新建工程.png
        结合“01_Schematic”文件夹下的“AT_START_F405_V1.0_SCH”原理图,可知板上三颗用户LED的管脚分布。
AT_START_F405_V1.0_SCH.pdf (221.56 KB, 下载次数: 0)
LED原理图.png
配置管脚.png
       时钟树默认配置即可。
默认时钟配置.png
       代码预览如下图所示:
代码预览.png
      接下来可以将配置信息导出成相应的工程,选择Keil V5平台,导入本地的固件包,即“AT32F402_405_Firmware_Library_V2.0.6.zip”文件。
生成代码.png
本地安装固件包.png
     加载完毕后,工具自动识别、列表显示到对应主控下。
加载ok.png
       由于导出的工程是基于Keil工具的,因此需要安装pack支持包,“ArteryTek.AT32F402_405_DFP.2.0.5.pack”官网有提供。
ArteryTek.AT32F402_405_DFP.2.0.5.zip (312.92 KB, 下载次数: 0)
安装pack支持包.png
         打开创建的工程,在main.c文件中,添加小部分代码,即可让LED2、LED3、LED4依次闪烁。
  1. /* Includes ------------------------------------------------------------------*/
  2. #include "at32f402_405_wk_config.h"

  3. /* private includes ----------------------------------------------------------*/
  4. /* add user code begin private includes */

  5. /* add user code end private includes */

  6. /* private typedef -----------------------------------------------------------*/
  7. /* add user code begin private typedef */

  8. /* add user code end private typedef */

  9. /* private define ------------------------------------------------------------*/
  10. /* add user code begin private define */

  11. /* add user code end private define */

  12. /* private macro -------------------------------------------------------------*/
  13. /* add user code begin private macro */

  14. /* add user code end private macro */

  15. /* private variables ---------------------------------------------------------*/
  16. /* add user code begin private variables */
  17. void delay(int num)
  18. {
  19.         int i ,j;
  20.         for(i = 5000;i>0; i--)
  21.         {
  22.                 for(j = 0;j<1000;j++);
  23.         }
  24. }
  25. /* add user code end private variables */

  26. /* private function prototypes --------------------------------------------*/
  27. /* add user code begin function prototypes */

  28. /* add user code end function prototypes */

  29. /* private user code ---------------------------------------------------------*/
  30. /* add user code begin 0 */

  31. /* add user code end 0 */

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

  40.   /* add user code end 1 */

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

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

  45.   /* nvic config. */
  46.   wk_nvic_config();

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

  49.   /* add user code begin 2 */

  50.   /* add user code end 2 */

  51.   while(1)
  52.   {
  53.     /* add user code begin 3 */
  54.                 gpio_bits_toggle(GPIOF,LED2_PIN);
  55.     delay(1000);
  56.     gpio_bits_toggle(GPIOF,LED3_PIN);
  57.     delay(1000);
  58.     gpio_bits_toggle(GPIOF,LED4_PIN);
  59.     delay(1000);
  60.     /* add user code end 3 */
  61.   }
  62. }
      闪灯效果如下图所示:
流水灯.gif


您需要登录后才可以回帖 登录 | 注册

本版积分规则

106

主题

1098

帖子

7

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