STM32F407VET6 学习笔记:GPIO引脚认识分类与开发板原理图
创作时间:
作者:
@小白创作中心
STM32F407VET6 学习笔记:GPIO引脚认识分类与开发板原理图
引用
CSDN
1.
https://m.blog.csdn.net/qq_64257614/article/details/138497119
本文是一篇关于STM32F407VET6微控制器的学习笔记,主要介绍了GPIO引脚的分类、开发板原理图以及如何点亮LED灯。文章内容包括:pack包的安装、STM32F407VET6引脚GPIO的详细归纳、各种外设(定时器、串口、CAN、SPI、I2C)的引脚分配、开发板的基本参数和原理图、与ST_LINK下载器的连接方法、点亮LED的代码示例等。
pack包的安装
学习新的单片机型号时,需要添加新的型号的pack包。一般商家提供的资料中会有个pack包,Keil没有添加这个pack的便需要添加,否则无法正常编程。这个直接双击安装就行了。
STM32F407VET6引脚GPIO归纳
STM32F407VET6 根据STM命名规则可知,共有100个引脚。引脚定义在STM32F407_405英文数据手册英文数据手册的47页。以手册为主、归纳是我自己人工完成的,可能有错误!
GPIO总线挂载
在使用标准库函数进行编程配置GPIO时,第一步就需要开启对应的GPIO的总线时钟,以下为外设总线以及其相对应的外设:
- RCC_AHB1PeriphClockCmd(uint32_t RCC_AHB1Periph, FunctionalState NewState)
- RCC_AHB2PeriphClockCmd(uint32_t RCC_AHB2Periph, FunctionalState NewState)
- RCC_AHB3PeriphClockCmd(uint32_t RCC_AHB3Periph, FunctionalState NewState)
- RCC_APB1PeriphClockCmd(uint32_t RCC_APB1Periph, FunctionalState NewState)
- RCC_APB2PeriphClockCmd(uint32_t RCC_APB2Periph, FunctionalState NewState)
定时器引脚
其中TIM1和TIM8是高级计时器、TIM2~TIM5是通用计时器。STM32F407的定时器通常连接到特定的GPIO引脚作为输入捕获、输出比较或PWM输出。
例如TIM1可以连接到PA8, PA9, PA10, PA11等引脚。其他定时器(TIM2, TIM3, TIM4, TIM5, TIM8等)也会连接到不同的GPIO引脚。
CH1 | CH2 | CH3 | CH4 | ETR | BKIN |
---|---|---|---|---|---|
PA7(CH1N)PE8(CH1N)PE9PB13(CH1N)PA8 | PB0(CH2N)PE10(CH2N)PE11PB14(CH2N)PA9 | PB1(CH3N)PE12(CH3N)PE13PB15(CH3N)PA10 | PE14PA11 | PA6PE15PB12 | |
PA5(CH1N)PA7(CH1N)PC6PH13(CH1N)PI5 | PB0(CH2N)PB14(CH2N)PC7PH14(CH2N)PI6 | PB1(CH3N)PB15(CH3N)PC8PH15(CH3N)PI7 | PC9PI2 | PA0PI3 | PA6PI4 |
串口引脚
TX | RX | CTS | RTS | CK |
---|---|---|---|---|
PA9PB6 | PA10PB7 | PA0PA11 | PA12 | |
PA2PD5 | PA3PD6 | PD3 | PA1PD4 | PA4PD7 |
PB10PD8PC10 | PB11PD9PC11 | PB13PD11 | PB14PD12 | PB12PD10PC12 |
PA0PC10 | PA1PC11 | |||
PC12 | PD2 | |||
PC6PG14 | PC7PG9 | PG13PG15 | PG8PG12 | PG7PC8 |
CAN通信引脚
CAN_RX | CAN_TX |
---|---|
PB8PI9PA11PD0PB8 | PB9PA12PD1PB9 |
PB12PB5 | PB13PB6 |
SPI通信引脚
SCK | MISO | MOSI | NSS |
---|---|---|---|
PA5PB3 | PA6PB4 | PA7PB5 | PA4PA15 |
PB10PB13PI1 | PC2PB14PI2 | PC3PB15PI3 | PB12PI0 |
PC10PB3 | PC11PB4 | PC12PB5 | PA4PA15 |
I2C通信引脚
SCL | SDA | SMBA |
---|---|---|
PB6PB8 | PB7PB9 | PB5 |
PH4PB10 | PF0PH5PB11 | PF2PH6PB12 |
PH7PA8 | PH8PC9 | PH9PA9 |
开发板的基本参数理解
开发板原理图(部分)
作为笔记,这里贴一些自己以后可能用到的原理图供自己查阅,不是全部......
与ST_LINK下载器的连接
按照以下方式连接开发板与ST_LINK下载器:
- SWO------SWIM
- CLK ------SWCLK
- DIO ------SWDIO
- 5V0 ------5.0V
- RST ------RST
- GND ------GND
在下载程序时 别忘记在魔棒更改选择对应的 debug仿真器:
点亮LED代码
这代码是立创商家给的例程代码,这里贴出学习使用:
初始化LED端口
void led_init(void)
{
//开GPIO总线
RCC_AHB1PeriphClockCmd(RCC_AHB1Periph_GPIOB, ENABLE);
GPIO_InitTypeDef GPIO_InitStructure;
GPIO_InitStructure.GPIO_Pin = GPIO_Pin_2;
GPIO_InitStructure.GPIO_Mode = GPIO_Mode_OUT;
GPIO_InitStructure.GPIO_OType = GPIO_OType_PP;
GPIO_InitStructure.GPIO_Speed = GPIO_Speed_100MHz;
GPIO_InitStructure.GPIO_PuPd = GPIO_PuPd_NOPULL;
//使用结构体初始化GPIO
GPIO_Init(GPIOB, &GPIO_InitStructure);
//GPIO初始化输出0
GPIO_ResetBits(GPIOB,GPIO_Pin_2);
flag = 0;
}
初始化按键端口
RCC_AHB1PeriphClockCmd(RCC_AHB1Periph_GPIOA, ENABLE);
GPIO_InitTypeDef GPIO_InitStructure;
GPIO_InitStructure.GPIO_Pin = GPIO_Pin_0;
GPIO_InitStructure.GPIO_Mode = GPIO_Mode_IN;
GPIO_InitStructure.GPIO_PuPd = GPIO_PuPd_DOWN;
GPIO_Init(GPIOA, &GPIO_InitStructure);
按键扫描函数
void key_scan(void)
{
if( SET == GPIO_ReadInputDataBit(GPIOA, GPIO_Pin_0) )
{
/* 延迟消抖 */
delay_ms(20);
if( flag )
{
GPIO_SetBits(GPIOB, GPIO_Pin_2);
flag = 0;
}
else
{
GPIO_ResetBits(GPIOB, GPIO_Pin_2);
flag = 1;
}
printf("Key Press!!\r\n");
while(GPIO_ReadInputDataBit(GPIOA, GPIO_Pin_0) == SET) // 等待按键松开
{
}
/* 延迟消抖 */
delay_ms(20);
printf("Key Release!!\r\n");
}
}
测试效果图
没按按键:
按下一次按键:
热门推荐
补铁补血水果有哪些?这些水果助你轻松补充铁元素
气血不足吃什么水果好?这些水果让你轻松补回来!
《千秋诗圣:杜甫的忧思与豪情》思想深度剖析与艺术亮点解读
中国十大好吃的米线,哪里的米线最好吃?
爱国故事分享会主题班会
睡前小故事——印度神话迦楼罗
单通、双通滤光片与IR-CUT的原理
世界上现存最早的航海图集——郑和航海图
郑和七下西洋为了什么?揭秘惊人真相
美军与德军装甲师在二战中的比较
保护视力的方法
為什麼成人需要「全眼健檢」呢?
夏季井冈山旅游攻略:必备物品与注意事项全解析
分派股利是什么
汽车空调auto和dual怎么用?如何正确操作汽车空调auto和dual?
缅怀历史 淬炼初心——九一八事变93周年铭记活动
康保县开展“九一八”事变纪念日暨国防教育月宣传活动
游戏史上十大充满魅力的女性角色盘点
我的世界生存攻略:从入门到精通的全方位技巧分享
VMware虚拟机安装Win10系统教程【附官方纯净版镜像】
在VM虚拟机里如何安装系统
李成器:李旦嫡长子,自愿让出皇位,成全唐玄宗的开元盛世
分派股利是什么
河西走廊:东西方文化交流的千年古道
心血管健康警告:每日一颗鸡蛋,可能会对患者带来何种后果?
翻译实践报告怎么写?通用格式以及范文
环保行业业绩前瞻:13家预喜
甘蔗是什么季节的水果
卓文君《诀别书》:春华竞芳,与君长诀
《斯坦福抗疲劳法》:科学实用的抗疲劳指南