收到开发板有段时间了,上班时间比较忙,趁五一长假,来分享一下试用该板卡的心得体会。
前期笔者已将关于该板卡的资料包下载好了,通过雅特力官网获取,板子还是一如既往采用白色涂层,外设资源丰富,开发板搭载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 */
}
}
闪灯效果如下图所示:
|