345|2

1万

帖子

15

TA的资源

版主

【极海APM32F407】3,跑下下闪灯例程 [复制链接]

这个闪灯例程在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

最新回复

现在的国产例程一般都是这种指针数组,修改起来方便,不过我都喜欢给打散了   详情 回复 发表于 2023-5-26 09:00
个人签名http://shop34182318.taobao.com/
https://shop436095304.taobao.com/?spm=a230r.7195193.1997079397.37.69fe60dfT705yr

回复

1233

帖子

0

TA的资源

五彩晶圆(初级)

跟着楼主学习闪灯测试

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

点评

现在的国产例程一般都是这种指针数组,修改起来方便,不过我都喜欢给打散了  详情 回复 发表于 2023-5-26 09:00

回复

2515

帖子

1

TA的资源

版主

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

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


回复
您需要登录后才可以回帖 登录 | 注册

相关帖子
查找数据手册?

EEWorld Datasheet 技术支持

相关文章 更多>>
关闭
站长推荐上一条 1/5 下一条
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2023 EEWORLD.com.cn, Inc. All rights reserved
快速回复 返回顶部 返回列表