打印
[活动专区]

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

[复制链接]
848|2
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
Tristan_C|  楼主 | 2023-10-24 23:45 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式
使用AT32 IDE和AT32 Work Bench开始第一个程序
前面已经准备好了硬件,以及开发环境,包括SDK、IDE和图形化配置工具。这次就来利用这些资料进行第一个程序的开发:点亮板子上的LED。
首先从硬件上找LED设计资源,从框图中可以看到有3个LED可由用户控制。

再结合原理图,这三个LED为GPIO低电平点亮

三颗LED分别接到了AT32F423的PD13、PD14和PD15

打开图形化配置工具AT32 Work Bench,选择正确的MCU系列和具体的型号(默认已经是AT32F423VCT7,正是开发板上使用的主芯片,因此直接使用即可)。

新建打开之后界面非常清晰,一目了然,可以快速找到需要想要进行的配置或者操作,上面的一栏文件、语言以及生成代码的功能,快捷切换语言功能;下面行则是选择需要配置的大模块,包括Pin的布局和配置、时钟配置和代码预览等;左侧一列则是具体的配置对象,如外设的ADC、Timer、GPIO等。

先将设计文件保存

这是第一个工程,就取名问hello_artery。

LED的控制主要是将GPIO设置为输出,从右侧的Pin布局中可以看到,当前是未进行任何配置的状态,引脚均未使用,显示为灰色状态。当有引脚被配置未对应的功能时,则会变成绿色,或者黄色(未配置模式)。

在Pin布局图中,找到三个LED对应的引脚,PD13、PD14和PD15,然后左键点击,在弹出选项中选择GPIO_Output

此时引脚颜色状态就变成绿色了。

在中间一列的GPIO模式和配置中,点击选择其中具体的一个GPIO,可以在下方的输出电平、GPIO类型、上下拉类型、GPIO模式、驱动能力等进行相应的初始化配置,其中输出电平改成输出高电平,因为LED电路设计上是低电平点亮,而标签则填入对应的LED名称。

在DEBUG外设中,调试接口选择SWD,

此时PA113和PA14两个引脚被配置为仿真调试接口。

保存文件,此时可以在代码预览中看到对应修改之后,所有的初始代码了

其中包括:main.c、at32f423_wk_config.c初始化配置、at32f423_wk_config.h、at32f423_int.c终端处理、at32f423_int.h、at32f423_conf.h
点击上方“生成代码”按钮,或者使用快捷键Ctrl+G

会出现如下界面,需要进行相应的配置。首先选择好项目名称和项目保存的位置。

然后在工具链/IDE中,因为使用AT32 IDE,所以对应选择即可。这里也可以看到,该图形化配置工具可以生成eclipse_gcc版本,IAR对各版本,以及MDK的V4和V5版本的工程。支持还是比较丰富的。
另外,此处最好将“重新生成代码时保留用户代码”单选框勾上,以确保下次进行配置更改,重新生成代码时,自己些的用户代码部分不会被覆盖或者删除,要不然很容易哭……

然后在MCU固件包中,如果首次使用,固件包是还没有,为空的,需要手动指定一个,之前已经从官网下载的话,点击浏览,直接选择zip压缩包或者解压之后的文件夹路径,或者点击左侧下载最新版本按钮也可以下载。


选择好固件包之后,最好勾选“复制库文件到项目文件夹”单选框,以便于将库文件跟随工程一起拷贝一份,避免出现不必要的麻烦或者问题。
点击确定按钮,开始在选择的工程文件夹生成工程和代码了。


也可以在生成代码时,选择点击“打开项目”按钮,这时就会自动调用打开前面选择的IDE打开这个工程了。

AT32 IDE启动中……还挺酷的……

第一次打开会要求选择一个workspace,这里选择了一个code代码公共路径。

进入之后,选择“Import Projects...”打开导入工程

选择“Exiting Projects into Workspace”

此时点击“Browse...”

打开刚才AT32 Work Bench 生成的项目工程所在路径

就可以在Projects列表中看到工程了。

点击“Finish”导入,即可在IDE中看到该工程。

点击左上角的Build按钮即可启动编译并生成目标文件

在Console中输出编译结果,包括目标文件信息,如代码的各部分占用空间

代码准备好,下面就可以进行运行或者调试了。先从Run下拉菜单中点击Debug Configuration...

从弹出的框中,双击GDB AT-Link Debugging,就会自动生成工程同名的debugging配置

点开可以查看细节,一般使用默认即可

此时从左上角可以选择Run或者Debug方式。

其中Run为运行模式,Debug则为调试方式,可以有下方的重启、单步,跳出等调试按钮可以使用,Run模式则没有(不可用)。

下载成功Console打印相应信息。

此时,板子上的三颗LED灯全部熄灭。
接下来为了让LED亮起来并且闪烁,开始研究代码部分了。点开main文件找到main函数位置,可以看到程序只做了启动并初始化,包括GPIO,然后进入while循环,也就是说,我们初始化GPIO,并且让LED启动之后就熄灭了,所以看到LED都没有亮起。

顺便可以看到生成的代码,我们自己些的就可以在下面这种add user code begin和add user code end之间添加,以避免下次使用AT32 Work Bench重新生成代码的时候,自己添加的代码被删除或者改掉了。

接下来可以设计一个LED翻转的简单演示功能,即周期性亮灭LED。
首先需要添加一个延时功能,于是想到了systick,且可以用其中断功能,在中断中翻转LED。首先定义systick的中断周期为1mS,以及中断累加周期值为200mS。

在main文件的如下位置添加如下systick的中段处理函数。并在中断中,每200mS翻转LED2,每400mS翻转LED3,每800mS翻转LED4.

而在main函数中需要添加systick的配置操作,同样是要在用户代码添加区域。

接着在中断处理文件中。

同样是在用户代码区域添加systick的中断处理函数SysTick_Handler。

注意别忘记外部函数声明

编译

下载运行,即可看到LED以不同频率闪烁的效果了。








hello_artery.rar

5.29 MB

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

使用特权

评论回复
沙发
Aeddg| | 2023-10-25 16:36 | 只看该作者
谢谢分享!

使用特权

评论回复
板凳
Tristan_C|  楼主 | 2023-10-25 17:23 | 只看该作者

学习中

使用特权

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

本版积分规则

15

主题

113

帖子

0

粉丝