【APM32E030R Micro-EVO开发板评测】+ GPIO操作点灯
一、前言
本次评测使用由极海半导体推出的基于 APM32E030R8T6 的 Micro-EVB 开发板。该芯片基于 ARM Cortex-M0+ 内核,主频高达 72MHz,是一款高性价比的入门级 MCU。
开发环境:
硬件:APM32E030R Micro-EVB 开发板
IDE:Keil MDK(uVision)
软件开发包(SDK):Geehy APM32E0xx_SDK从极海官网或官方 获取
二、硬件分析
查看开发板原理图,找到用户LED的连接引脚。
LED1:连接至 Pb7
电路类型:通常为阴极接地(GND),阳极通过电阻连接到PC13。PB7输出高电平(1)时点亮LED,输出低电平(0)时熄灭。
三、软件编程:GPIO点灯
GPIO操作的核心流程为:开启时钟 -> 配置GPIO -> 控制输出。
以下是基于极海SDK库函数的代码实现:
代码
- uint8_t keyState = 1; // ??????????
- uint8_t ledState = 0; // ??LED????? (0:?, 1:?)
-
- GPIO_Config_T gpioConfig;
- RCM_EnableAHBPeriphClock(RCM_AHB_PERIPH_GPIOB);
- RCM_EnableAHBPeriphClock(RCM_AHB_PERIPH_GPIOA);
- RCM_EnableAHBPeriphClock(LED2_GPIO_CLK | LED3_GPIO_CLK);
-
- gpioConfig.pin = GPIO_PIN_1;
- gpioConfig.mode = GPIO_MODE_IN;
- GPIO_Config(GPIOA, &gpioConfig);
-
- /* LED2 GPIO configuration */
- gpioConfig.pin = LED2_PIN;
- gpioConfig.mode = GPIO_MODE_OUT;
- gpioConfig.outtype = GPIO_OUT_TYPE_PP;
- gpioConfig.speed = GPIO_SPEED_50MHz;
- gpioConfig.pupd = GPIO_PUPD_NO;
- GPIO_Config(LED2_GPIO_PORT, &gpioConfig);
- /* LED3 GPIO configuration */
- gpioConfig.pin = LED3_PIN;
- GPIO_Config(LED3_GPIO_PORT, &gpioConfig);
- /* Turn LED2 on */
- GPIO_ClearBit(LED2_GPIO_PORT, LED2_PIN);
- /* Turn LED3 off */
- GPIO_SetBit(LED3_GPIO_PORT, LED3_PIN);
- for (;;)
- {
- Delay();
- /* LED Toggle*/
-
- APM_TINY_LEDToggle(LED2);
- }
- }
四、实现效果
|