本帖最后由 suncat0504 于 2022-2-26 20:08 编辑
#申请原创# 今天傍晚正在做晚饭的时候,收到了京东快递,是之前申请的雅特力开发板到了。板子的型号为:AT-START-F425 V1.0。 将这块开发板接到电脑USB口,系统提示安装了CMSIS-DAP Debugger驱动程序,系统会自动完成安装(我的电脑操作系统为Win10)。连接后的开发板上的LED2、3、4呈现流水灯式的交替亮灭状态。 开发板大小约为8cm x 12cm,板上提供了AT-Link接口,可以直接连上电脑进行开发、下载。需要特别说明的是,这个开发板具有USB HSOT口和USB OTG口,应该是可以开发USB相关的应用的。 为了能在keil5下顺利打开开发板提供的工程,需要在keil种安装这个开发板对应的MCU型号的支持包。我这里使用的是ArteryTek.AT32F425_DFP.2.0.1.pack这个包。因为系统中已经安装了keil5.33,所以鼠标双击这个文件,根据提示安装好设备支持包就可以了。 接下来,找到一个示例工程,就以led toggle这个工程为例。这个工程存于AT32F425_Firmware_Library-master\project\at_start_f425\examples\gpio\led_toggle\mdk_v5目录下,打开这个工程 在编译工程前,为了避免出现FPU方面的错误,需要修改工程的设置,禁止使用FPU,如下图:设置“Floating Point Hardware”为“Not Used”。
接下来,为了能顺利下载,需要设置工程的Debug模式为“CMSIS-DAP Debugger”, 主程序中: at32_led_toggle(LED2); delay_ms(200); at32_led_toggle(LED3); delay_ms(200); at32_led_toggle(LED4); delay_ms(200); 其中delay_ms函数,是利用系统时钟产生延时,不是那种加减一产生的死循环,精度很高。
程序中使用的LED2、3、4,关联到GPIOC口的2、3、5管脚。 #define LED2_PIN GPIO_PINS_2 #define LED2_GPIO GPIOC #define LED2_GPIO_CRM_CLK CRM_GPIOC_PERIPH_CLOCK
#define LED3_PIN GPIO_PINS_3 #define LED3_GPIO GPIOC #define LED3_GPIO_CRM_CLK CRM_GPIOC_PERIPH_CLOCK
#define LED4_PIN GPIO_PINS_5 #define LED4_GPIO GPIOC #define LED4_GPIO_CRM_CLK CRM_GPIOC_PERIPH_CLOCK 利用开发板提供的at32_led_toggle函数,实现LED的交替亮灭。 /** * @brief turns selected led tooggle. *@param led: specifies the led to be setoff. * this parameter can be one offollowing parameters: *@retval none */ void at32_led_toggle(led_type led) { if(led > (LED_NUM - 1)) return; if(led_gpio_pin[led]) led_gpio_port[led]->odt ^= led_gpio_pin[led]; } 好了,现在编译程序, 没有错误,可以下载了。 下载完成后,需要按下开发板的reset按钮以启动下载的程序。如果你看到LED2、3、4三个LED以流水灯方式交替亮灭,说明程序正常,下载也正常,板子没有问题。从最近测试过的几个板子来看,STM32的开发板和雅特力的开发板,无论是安装驱动,还是程序下载,都不需要进行太多的繁琐操作,是一样的简单、快捷,带给开发者的体验应该是相当不错的。
|