STM32F407VET6 学习笔记:GPIO引脚分类与开发板原理图详解
创作时间:
作者:
@小白创作中心
STM32F407VET6 学习笔记:GPIO引脚分类与开发板原理图详解
引用
CSDN
1.
https://blog.csdn.net/qq_64257614/article/details/138497119
本文是一篇关于STM32F407VET6微控制器学习笔记的技术文章,主要介绍了GPIO引脚的分类、开发板原理图以及如何点亮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 | PA11 | PE7PA12 | PA6PE15PB12 |
PA0PA5 | PA1PB3 | PA2PB10 | PA3PB11 | PA0PA5PA15 | |
PA6PC6PB4 | PA7PC7PB5 | PB0PC8 | PB1PC9 | PD2 | |
PD12PB6 | PD13PB7 | PD14PB8 | PD15PB9 | PE0 | |
PA0PH10 | PA1PH11 | PA2PH12 | PA3PI0 | ||
PA5(CH1N)PA7(CH1N)PC6PH13(CH1N)PI5 | PB0(CH2N)PB14(CH2N)PC7PH14(CH2N)PI6 | PB1(CH3N)PB15(CH3N)PC8PH15(CH3N)PI7 | PC9PI2 | PA0PI3 | PA6PI4 |
PE5\PA2 | PE6\PA3 | ||||
PF6PB8 | |||||
PF7PB9 | |||||
PH6PB14 | PH9PB15 | ||||
PF8\PA6 | |||||
PF9\PA7 |
串口引脚
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");
}
}
测试效果图
- 没按按键:
- 按下一次按键:
测试工程与资料手册下载
热门推荐
欧可朗耀与皓齿美白:技术原理、效果对比及选购建议
青稞饮料:降糖护心又助消化,老少皆宜
青稞助糖尿病患者控糖,五大功效与食用建议全解析
关于手机超频的风险与不推荐的操作建议,谨慎对待手机性能提升
法律援助志愿者工作指南:条件、职责与发展前景
法律援助让公平正义触手可及:从申请到服务全流程详解
减肥也能健康吃烧烤?
减肥期间也能享瘦烧烤的秘密
减肥也能吃烤肉?秘诀在这里!
减肥也能吃烧烤?试试这三款健康神器!
木垒鹰嘴豆入选农业区域品牌,年产值将破5亿
高蛋白低脂的鹰嘴豆这样吃最瘦身,附3款美味食谱
鹰嘴豆:营养价值超牛奶7倍,7000年历史的健康食材
上海自然博物馆9岁啦!20余场精彩科普活动来袭→
惠普&联想至像墨盒更换秘籍大公开!
台湾观巴:轻松畅游宝岛的便捷选择
解密约瑟夫天赋搭配:封窗提升追击,底牌增强控场
台湾十大名胜古迹

《第五人格》约瑟夫攻略:双天赋搭配与实战要点
每代人的春节记忆与仪式传承
尊重与理解:建立良好人际关系的关键
善待他人就是滋养自己:从赞美到宽容的三个维度
解救夏日厨房:6道快手家常菜做法详解
葱油冷藏超安全期,这样储存才能保质
掌握这7个要点,轻松提升你的《英雄联盟》水平
英雄联盟超凡大师:高分段位的六大核心能力
双燕尾拉皮手术 vs 小拉皮:技术原理与效果对比
夏季护肤指南:四大年龄段科学护理方案及医美建议
双燕尾SMAS精拉手术:效果显著但需谨慎选择
精拉手术收紧面部,不会加速衰老进程