[MCU] 【极海APM32F407】3,跑下下闪灯例程

ddllxxrr   2023-5-25 06:38 楼主

这个闪灯例程在GPIO的子目录下,也是开发板板载例程。

geehy7.jpg 从原理图上可见,LED接在PE5,PE6上,那么打开例程,看一下管脚定义:

#define LEDn                             2

#define LED2_PIN                         GPIO_PIN_6
#define LED2_GPIO_PORT                   GPIOE
#define LED2_GPIO_CLK                    RCM_AHB1_PERIPH_GPIOE

#define LED3_PIN                         GPIO_PIN_5
#define LED3_GPIO_PORT                   GPIOE
#define LED3_GPIO_CLK                    RCM_AHB1_PERIPH_GPIOE

而其初使化函数如下:

void APM_MINI_LEDInit(Led_TypeDef Led)
{
    GPIO_Config_T  configStruct;

    /** Enable the GPIO_LED Clock */
    RCM_EnableAHB1PeriphClock(GPIO_CLK[Led]);

    /** Configure the GPIO_LED pin */
    GPIO_ConfigStructInit(&configStruct);
    configStruct.pin = GPIO_PIN[Led];
    configStruct.mode = GPIO_MODE_OUT;
    configStruct.speed = GPIO_SPEED_50MHz;

    GPIO_Config(GPIO_PORT[Led], &configStruct);
    GPIO_PORT[Led]->BSCL = GPIO_PIN[Led];
}

而GPIO_PORT是指针数组,GPIO_PIN和GPIO_CLOCK只是个数组。

可见,除了定义的类型同STM32标准库有点不一样,其余都差不多。

以下是编译运行的截图:

geehy8.jpg

http://shop34182318.taobao.com/ https://shop436095304.taobao.com/?spm=a230r.7195193.1997079397.37.69fe60dfT705yr

回复评论 (2)

跟着楼主学习闪灯测试

楼主用的是GPIO_PORT是指针数组,这个一般初学者都不会

点赞  2023-5-25 21:24
引用: 火辣西米秀 发表于 2023-5-25 21:24 跟着楼主学习闪灯测试 楼主用的是GPIO_PORT是指针数组,这个一般初学者都不会

现在的国产例程一般都是这种指针数组,修改起来方便,不过我都喜欢给打散了

在爱好的道路上不断前进,在生活的迷雾中播撒光引
点赞  2023-5-26 09:00
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 京公网安备 11010802033920号
    写回复