打印
[全站每周活动汇总]

【APT32F173测评】+GPIO篇,点亮LED

[复制链接]
221|1
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
GPIO, IO, LED, gp, pi
先来个示例,借鉴一下方法:
APT32F173是一款常用的微控制器,其性能和功能都非常强大。以下是一个简单的示例,说明如何使用APT32F173来点亮一个LED。
首先,你需要准备以下材料:
  • APT32F173开发板
  • LED灯
  • 220Ω电阻(这个在我自己手工板上)
  • 杜邦线
步骤1:连接LED灯和电阻
将LED灯的长腿(正极)通过一个220Ω的电阻连接到APT32F173开发板的某个GPIO引脚上,将LED灯的短腿(负极)连接到开发板的GND引脚上。
步骤2:编写代码
使用你选择的开发环境(例如Keil uVision、IAR Embedded Workbench等)编写代码。以下是一个简单的示例代码,用于点亮LED灯:
c复制代码

#include "APT32F173.h"  

  

#define LED_PIN GPIO_PIN_0 // 假设我们将LED连接到GPIO_PIN_0  

#define LED_PORT GPIOA // 假设我们将LED连接到GPIOA端口  

  

void delay(uint32_t count) {  

    while (count--);  

}  

  

int main(void) {  

    // 初始化GPIO端口和引脚  

    GPIO_InitTypeDef GPIO_InitStruct = {0};  

    GPIO_InitStruct.Pin = LED_PIN;  

    GPIO_InitStruct.Mode = GPIO_MODE_OUTPUT_PP;  

    GPIO_InitStruct.Pull = GPIO_NOPULL;  

    GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_LOW;  

    HAL_GPIO_Init(LED_PORT, &GPIO_InitStruct);  

      

    while (1) {  

        // 点亮LED灯  

        HAL_GPIO_WritePin(LED_PORT, LED_PIN, GPIO_PIN_SET);  

        delay(1000000); // 延时一段时间,使LED灯持续点亮  

        // 熄灭LED灯  

        HAL_GPIO_WritePin(LED_PORT, LED_PIN, GPIO_PIN_RESET);  

        delay(1000000); // 延时一段时间,使LED灯熄灭  

    }  

}

步骤3:编译和下载代码
将代码编译成可执行文件,并将该文件下载到APT32F173开发板上。你可以使用ST-Link/V2或其他调试器进行下载和调试。
步骤4:运行程序并观察结果
将开发板连接到电源,并观察LED灯的状态。如果一切正常,LED灯应该会在程序运行后开始闪烁。
下面看我的,先看原理图:
我这使用的是GPIO口是,PA0。
框图:
寄存器:
代码:
主代码:        
csi_gpio_toggle(GPIOA, PA0);                               
        mdelay(100);                                                        //延时10ms       
        mdelay(100);                                                        //延时10ms       
初始化:
        csi_gpio_set_mux(GPIOA, PA0, PA0_OUTPUT);                        //PA0输出
        csi_gpio_set_high(GPIOA, PA0);                                                //输出高
        mdelay(100);
        csi_gpio_set_low(GPIOA, PA0);                                                //输出低
        mdelay(100);
        csi_gpio_set_high(GPIOA, PA0);                                                //输出高
        mdelay(100);
显示效果:
其点亮LED的实验是一个很好的入门示例,有助于理解微控制器的基本工作原理和编程方法。

使用特权

评论回复

相关帖子

沙发
zwsam| | 2024-2-11 11:04 | 只看该作者

使用特权

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

本版积分规则

认证:工程师
简介:超越自我,为设计激发灵感和想象。

82

主题

472

帖子

2

粉丝