[活动专区] 【AT-START-F423测评】+ 02_使用AT32 IDE和AT32 Work Bench开始第一个程序

[复制链接]
3055|2
 楼主| Tristan_C 发表于 2023-10-24 23:45 | 显示全部楼层 |阅读模式
使用AT32 IDE和AT32 Work Bench开始第一个程序
前面已经准备好了硬件,以及开发环境,包括SDK、IDE和图形化配置工具。这次就来利用这些资料进行第一个程序的开发:点亮板子上的LED。
首先从硬件上找LED设计资源,从框图中可以看到有3个LED可由用户控制。
92f9b17379fef06fce487714d54da188
再结合原理图,这三个LED为GPIO低电平点亮
84f6800f990cea954044257c767bb008
三颗LED分别接到了AT32F423的PD13、PD14和PD15
c05d0b8f8fe713a175d275eedc1cba29
打开图形化配置工具AT32 Work Bench,选择正确的MCU系列和具体的型号(默认已经是AT32F423VCT7,正是开发板上使用的主芯片,因此直接使用即可)。
1a1badce2bc888afafa25e737bf1d063
新建打开之后界面非常清晰,一目了然,可以快速找到需要想要进行的配置或者操作,上面的一栏文件、语言以及生成代码的功能,快捷切换语言功能;下面行则是选择需要配置的大模块,包括Pin的布局和配置、时钟配置和代码预览等;左侧一列则是具体的配置对象,如外设的ADC、Timer、GPIO等。
108860c582336ff20fcc690dc55e7c9e
先将设计文件保存
215968db7bb9123d038ed093dbea831a
这是第一个工程,就取名问hello_artery。
beb254ae2d78afe7cd72d2f4fa7aa9fe
LED的控制主要是将GPIO设置为输出,从右侧的Pin布局中可以看到,当前是未进行任何配置的状态,引脚均未使用,显示为灰色状态。当有引脚被配置未对应的功能时,则会变成绿色,或者黄色(未配置模式)。
06b8d662438dff3b803ed06432ce6ab2
在Pin布局图中,找到三个LED对应的引脚,PD13、PD14和PD15,然后左键点击,在弹出选项中选择GPIO_Output
e81520662fec8fbc02aa00e7a3e527b8
此时引脚颜色状态就变成绿色了。
52461c60ad14ba6d0f9b60a922ce312b
在中间一列的GPIO模式和配置中,点击选择其中具体的一个GPIO,可以在下方的输出电平、GPIO类型、上下拉类型、GPIO模式、驱动能力等进行相应的初始化配置,其中输出电平改成输出高电平,因为LED电路设计上是低电平点亮,而标签则填入对应的LED名称。
ae10cc0e9dd138e29bf7622bd89359b2
在DEBUG外设中,调试接口选择SWD,
dfb4604baca4f5cce53cb8189d5ff1a7
此时PA113和PA14两个引脚被配置为仿真调试接口。
aae2cbc4fcf9e47ed682e9b53d0f047a
保存文件,此时可以在代码预览中看到对应修改之后,所有的初始代码了
b2a7c46ebb372259cb9ddb3be3cc3aa7
其中包括:main.c、at32f423_wk_config.c初始化配置、at32f423_wk_config.h、at32f423_int.c终端处理、at32f423_int.h、at32f423_conf.h
点击上方“生成代码”按钮,或者使用快捷键Ctrl+G
a568c1081dc9f235800c198544ef58d6
会出现如下界面,需要进行相应的配置。首先选择好项目名称和项目保存的位置。
e062947c0f964de95b2e6f23e3b05da9
然后在工具链/IDE中,因为使用AT32 IDE,所以对应选择即可。这里也可以看到,该图形化配置工具可以生成eclipse_gcc版本,IAR对各版本,以及MDK的V4和V5版本的工程。支持还是比较丰富的。
另外,此处最好将“重新生成代码时保留用户代码”单选框勾上,以确保下次进行配置更改,重新生成代码时,自己些的用户代码部分不会被覆盖或者删除,要不然很容易哭……
0d05e91ce2974c90d5ce8285ea7604dc
然后在MCU固件包中,如果首次使用,固件包是还没有,为空的,需要手动指定一个,之前已经从官网下载的话,点击浏览,直接选择zip压缩包或者解压之后的文件夹路径,或者点击左侧下载最新版本按钮也可以下载。
c6886509dbcf67749759523926940a4c
409292d2d1be86e406de9abd81d869ef
选择好固件包之后,最好勾选“复制库文件到项目文件夹”单选框,以便于将库文件跟随工程一起拷贝一份,避免出现不必要的麻烦或者问题。
点击确定按钮,开始在选择的工程文件夹生成工程和代码了。
6762ee0e8dc536c436c130cf1a6acb8f
c0da20818ed66825019a9c2c39f7668e
也可以在生成代码时,选择点击“打开项目”按钮,这时就会自动调用打开前面选择的IDE打开这个工程了。
b82f4a0d9b62e87838338a13b5045a32
AT32 IDE启动中……还挺酷的……
fd168a4f451136d5c5e9ad1e75912b44
第一次打开会要求选择一个workspace,这里选择了一个code代码公共路径。
d315ce9df13acfb3b159dd61cd968d50
进入之后,选择“Import Projects...”打开导入工程
7711c3c5f766656930bcf628d127d69e
选择“Exiting Projects into Workspace”
ae10cc0e9dd138e29bf7622bd89359b2
此时点击“Browse...”
8f6e5379e75a50c52f259c634672db87
打开刚才AT32 Work Bench 生成的项目工程所在路径
39e276809bf1add997cf1a9363dbf6ba
就可以在Projects列表中看到工程了。
08ab4314b9909f3965bb04d01306c939
点击“Finish”导入,即可在IDE中看到该工程。
8e31f5c8d125353dbb181896c8c9a955
点击左上角的Build按钮即可启动编译并生成目标文件
77f5d82fec54c9b12542380f238a8cc5
在Console中输出编译结果,包括目标文件信息,如代码的各部分占用空间
69b0cf2a9036cabf3a756d94bbad5cc7
代码准备好,下面就可以进行运行或者调试了。先从Run下拉菜单中点击Debug Configuration...
be40b7f6e209e659b4b450477e825741
从弹出的框中,双击GDB AT-Link Debugging,就会自动生成工程同名的debugging配置
96e73c6744a9e2e1ceed33539fe22fc6
点开可以查看细节,一般使用默认即可
1858fd73e7ae8cd21efce66a6268cd99
此时从左上角可以选择Run或者Debug方式。
1084ff83a2eb34aaa88be47bfa8a6fe7
其中Run为运行模式,Debug则为调试方式,可以有下方的重启、单步,跳出等调试按钮可以使用,Run模式则没有(不可用)。
44c7e6a1ba16208140e9f317e92160aa
下载成功Console打印相应信息。
c810d3b23d97f0980ec262d081e8d9b5
此时,板子上的三颗LED灯全部熄灭。
接下来为了让LED亮起来并且闪烁,开始研究代码部分了。点开main文件找到main函数位置,可以看到程序只做了启动并初始化,包括GPIO,然后进入while循环,也就是说,我们初始化GPIO,并且让LED启动之后就熄灭了,所以看到LED都没有亮起。
69f529c0bcc92dcdb40c2e1a4be9af88
顺便可以看到生成的代码,我们自己些的就可以在下面这种add user code begin和add user code end之间添加,以避免下次使用AT32 Work Bench重新生成代码的时候,自己添加的代码被删除或者改掉了。
42a3af30d5a8ab7e5832a224ba442cf7
接下来可以设计一个LED翻转的简单演示功能,即周期性亮灭LED。
首先需要添加一个延时功能,于是想到了systick,且可以用其中断功能,在中断中翻转LED。首先定义systick的中断周期为1mS,以及中断累加周期值为200mS。
a04c842460701bb02d31a7191bee1ac7
在main文件的如下位置添加如下systick的中段处理函数。并在中断中,每200mS翻转LED2,每400mS翻转LED3,每800mS翻转LED4.
079e604203e8d1e71f3788240b0a9bba
而在main函数中需要添加systick的配置操作,同样是要在用户代码添加区域。
3820cbbcb0a596ab70162fbead757446
接着在中断处理文件中。
c6d64fc6f296c59f17aec6c667b900f9
同样是在用户代码区域添加systick的中断处理函数SysTick_Handler。
08681b08ead19295fb734d8e32e2e842
注意别忘记外部函数声明
af058f75832cc252907b30df646fe59d
编译
823668bfde9838c56447d0dfbc20db55
下载运行,即可看到LED以不同频率闪烁的效果了。








hello_artery.rar

5.29 MB, 下载次数: 3

雅特力AT32F423开发板_使用AT32 IDE和AT32 Work Bench开始第一个程序

Aeddg 发表于 2023-10-25 16:36 | 显示全部楼层
谢谢分享!
 楼主| Tristan_C 发表于 2023-10-25 17:23 | 显示全部楼层
您需要登录后才可以回帖 登录 | 注册

本版积分规则

16

主题

117

帖子

1

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