打印
[AT32F405]

【AT-START-F405测评】+LED点灯

[复制链接]
4760|2
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
本帖最后由 liaoxianghan 于 2024-5-29 01:44 编辑

AT-START-F405开发板点亮LED的过程可以概括如下:
1. 开发板了解
· AT-START-F405开发板使用雅特力(Arterytek)的AT32F405RCT7-7微控制器,该控制器基于ARM Cortex-M4核,具有96+6KB RAM256KB Flash
· 开发板资源丰富,包含多个LED灯等组件。
2. 开发环境搭建
· 开发板的相关资料可从官网下载,如数据手册、开发指南等。
· 开发环境支持Keil和雅特力AT32 IDE
· 使用辅助代码生成工具AT32 Work Bench可以方便快捷地搭建代码框架。
· 安装必要的Keil pack包和调试烧录器驱动。
3. 代码准备与点灯程序
· 有两种方式准备代码:一是基于SDK中的demo工程作为基础;二是由AT32 Work Bench生成代码工程。
· 使用AT32 Work Bench时,需要进行功能选择配置、添加压缩包library及芯片型号,并生成Keil代码。
· 点灯程序可以在SDK目录中的gpio/led_toggle示例工程中找到。
· 选择正确的芯片型号和烧录器,编译并烧录代码。
4. 点亮LED步骤(以使用AT32 Work BenchKeil IDE为例)
1. 确定LED使用的IO:通过开发板手册,确定LED连接的GPIO引脚。
2. 配置GPIO:在AT32 Work Bench中,选择对应的GPIO引脚,并设置为GPIO_Output模式。
3. 生成代码:在AT32 Work Bench中完成配置后,生成Keil工程代码。
4. 编写点灯代码:在生成的Keil工程中,找到main.c文件,并添加点亮LED的代码。例如,使用gpio_bits_reset()函数来点亮LED
5. 编译与烧录:在Keil IDE中编译代码,并使用调试烧录器将代码烧录到开发板中。
6. 验证:上电后,观察开发板上的LED是否按照预期点亮。


代码:
流水灯:
    at32_led_toggle(LED2);
    delay_ms(200);
    at32_led_toggle(LED3);
    delay_ms(200);
    at32_led_toggle(LED4);
delay_ms(200);
点亮LED:
    at32_led_toggle(LED4);
delay_ms(200);
翻转函数:
void at32_led_toggle(led_type led)
{
  if(led > (LED_NUM - 1))
    return;
  if(led_gpio_pin[led])
    led_gpio_port[led]->togr = led_gpio_pin[led];
}

初始化:
void at32_led_init(led_type led)
{
  gpio_init_type gpio_init_struct;

  /* enable the led clock */
  crm_periph_clock_enable(led_gpio_crm_clk[led], TRUE);

  /* set default parameter */
  gpio_default_para_init(&gpio_init_struct);

  /* configure the led gpio */
  gpio_init_struct.gpio_drive_strength = GPIO_DRIVE_STRENGTH_STRONGER;
  gpio_init_struct.gpio_out_type  = GPIO_OUTPUT_PUSH_PULL;
  gpio_init_struct.gpio_mode = GPIO_MODE_OUTPUT;
  gpio_init_struct.gpio_pins = led_gpio_pin[led];
  gpio_init_struct.gpio_pull = GPIO_PULL_NONE;
  gpio_init(led_gpio_port[led], &gpio_init_struct);
}
LED原理图:
MCU连接位置:



使用特权

评论回复
沙发
哈哈,***逃不开的点灯

使用特权

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

本版积分规则

认证:东莞晟鼎精密仪器有限公司
简介:一名做大功率电源的工程,一直在学习,一直在进步。厚积薄发,志在千里!

12

主题

61

帖子

0

粉丝